Seite 1 von 2
Mauszeiger
Verfasst: 26.04.2013 14:43
von ToolBoy
Hallo @All
Hilfe, warum zittert der Mauszeiger, wenn PureBasic pb Dateien oder Exen unter Win 7 laufen, im System ME und XP bleibt der Mauszeiger ruhig nicht.
Gruß ToolBoy
Re: Mauszeiger
Verfasst: 26.04.2013 14:48
von NicTheQuick
Du nutzt noch ME?
Aber mal davon abgesehen. Was darf man unter "Zittern" verstehen? Und ist das bei jedem PB-Programm oder nur bei einem bestimmten? Wie so oft fehlen die wichtigsten Informationen wie PB-Version, Code, 32 oder 64 Bit, mit oder ohne Debugger, usw...
Re: Mauszeiger
Verfasst: 26.04.2013 15:02
von ToolBoy
Zittern wie Espenlaub, man kann den Cursor nur ahnen.
Unter Win 7 32 Bit, bei PB 4.0 bis 5.10, bei allen PB Pogrammen, sobald der Cursor auf ein Gadget steht.
Natürlich habe ich hier schon gesucht und nichts gefunden, außer die, die das gleiche Problem haben, was da aber immer im Sande verläuft, sonst würde ich nicht fragen.
Nachtrag:
Der Mauszeiger zittert auf jedes Gadget, egal ob die Maus bewegt wird oder nicht. Auch eine andere Maus bringt keine Änderung.
Wenn ich in Win 7 die Mauseigenschaften auf schnell ändere, zittert der Zeiger schneller, stelle ich auf langsam zittert der Zeiger langsamer.
Re: Mauszeiger
Verfasst: 26.04.2013 17:57
von Bisonte
Ist es eine Funkmaus ? Dann könnten andere Signale wie Handy/Wlan usw. stören.
Ist es eine optische Maus ?
Hier könnte es an "verdreckter" Linse liegen oder aber die Unterlage auf der die Maus liegt,
lässt den Lichtstrahl brechen... hatte mal auf einem dunklen Schreibtisch mit Hochglanzlack
solche Probleme... Mousepad drunter, weg war das zucken.
(Wahrscheinlicherer Fall)
Re: Mauszeiger
Verfasst: 26.04.2013 18:20
von ToolBoy
Ich danke dir.
Ja eine Funkmaus. Problem liegt aber wahrscheinlich an PureBasic mit Win 7
IF... Else... Endif lässt den Cursor unter Win 7 flimmern.
Bei Einzelabfragen flimmert nichts mehr.
Ist zwar schlecht 60 x IF... Endif aber so geht es.
Wenn es wieder auftaucht Funkmaus ab.
Gruß ToolBoy
Re: Mauszeiger
Verfasst: 26.04.2013 18:32
von Kurzer
Hmm, ich habe auch PureBasic Programme unter Win 7 laufen und da zittert nichts.
Wenn Du "If then Else" schreibst, deutet es ja darauf hin, dass das Problem nur Dein selbst geschriebenes Programm betrifft.
Zeig doch mal ein bisschen Quellcode den wir usn angucken können. Evtl. ist das Problem "selbstgemacht".
Re: Mauszeiger
Verfasst: 27.04.2013 05:59
von ToolBoy
Code: Alles auswählen
Macro GET(AC)
GetCursorPos_(mouse.POINT)
If mouse\x>=GadgetRect\Left And mouse\x<=GadgetRect\right And mouse\y>=GadgetRect\Top And mouse\y<=GadgetRect\bottom
If AC > 0 And AC < 121
SetSystemCursor_(LoadCursor_(0,#IDC_HAND),#OCR_NORMAL)
EndIf
GTX = AC
GT$ = GetGadgetText(GTX)
If AC > 500 And AC < 521 And GT$ <> ""
SetSystemCursor_(LoadCursor_(0,#IDC_HAND),#OCR_NORMAL)
HideGadget(AC + 40,0)
HideGadget(AC + 100,0)
EndIf
EndMacro
Das Macro wird 60 x in einer Schleife durchlaufen.
In ME und XP klappt das ohne Mausflimmern.
Re: Mauszeiger
Verfasst: 27.04.2013 09:09
von Kurzer
Hast Du auch code der direkt kompilierbar ist?
Das Macro alleine hilft ja jetzt nicht viel.
Re: Mauszeiger
Verfasst: 27.04.2013 09:15
von Josh
ToolBoy hat geschrieben:Das Macro wird 60 x in einer Schleife durchlaufen.
In ME und XP klappt das ohne Mausflimmern.
Viel Interesse an einer Lösung deines Problems dürftest du ja nicht haben:
Wie wäre es mit einem lauffähigen Beispiel?
Wie wäre es mit einem ordentlich formatierten Code?
Wie wäre es, wenn alle
If auch ein
EndIf hätten?
Hier gibt es verdammt viele, die gerne helfen, aber verdammt wenige, die deine Arbeit machen wollen.
Re: Mauszeiger
Verfasst: 28.04.2013 13:56
von ToolBoy
Das Problem ist doch gelöst, es würden 60 Einzelabfragen Programmiert, ohne Macro.
In dem Code ist es dich selbstverständlich, dass aus einer IF abfrage das Macro durchlaufen wird und am Ende 60 X ein Endif existiert.
Code: Alles auswählen
If GetWindowRect_(GadgetID(1),GadgetRect.RECT)
GET(1) Zum Magro Macro GET(AC)
ElseIf GetWindowRect_(GadgetID(3),GadgetRect.RECT)
GET(3) ; das bis GET(60) also 60 x
; weiter bis GET(60)
;
Else ; natürlich auch die Else
SetSystemCursor_(LoadCursor_(0,#IDC_ARROW),#OCR_NORMAL)
Endif : Endif ; und 60 x Endif
Das Gesamtpaket hat 2 MB und ist ohne das Zubehör nicht lauffähig.
Es kommt dann nur die Meldung: Fix.Exe kann nicht gestartet werden.
Es gibt einfach neben der ME-XP Version eine WIN7 Version, wie so oft.