AddGadgetItem in einer Repeat/Until-Schleife

Für allgemeine Fragen zur Programmierung mit PureBasic.
Bytedevil
Beiträge: 34
Registriert: 30.12.2004 21:37

AddGadgetItem in einer Repeat/Until-Schleife

Beitrag von Bytedevil »

Hallo!

Ich habe folgenden Code:

Code: Alles auswählen

...
...

Repeat
 GetCursorPos_ (Mauskoordinaten(0))
 hWnd = WindowFromPoint_ (Mauskoordinaten(0)\x,Mauskoordinaten(0)\y)
 
 If hWnd <> 0 : AddGadgetItem (0,0,Str(hWnd)) : hWnd = 0 : EndIf
Until WaitWindowEvent () = #PB_Event_CloseWindow
Das Gadget erhält nur beim Überfahren eines Fensters nicht nur einen, sondern hunderte Einträge.

Warum? Wo steckt der Fehler?

Danke,
Bytedevil
Benutzeravatar
Hroudtwolf
Beiträge: 1416
Registriert: 30.10.2004 23:33
Kontaktdaten:

Beitrag von Hroudtwolf »

Vieleicht so ?

Code: Alles auswählen

...
...

Repeat
 GetCursorPos_ (Mauskoordinaten(0))
 hWnd = WindowFromPoint_ (Mauskoordinaten(0)\x,Mauskoordinaten(0)\y)
 
 If hWnd <> 0 
nix=0
for x=0 to countgadgetitems(0)-1
if  getgadgetitemtext (0,x,0)=str(hWnd):nix=1:endif 
next x
 if nix=0:AddGadgetItem (0,0,Str(hWnd)):endif
 hWnd = 0 
 EndIf

Until WaitWindowEvent () = #PB_Event_CloseWindow 
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Beitrag von GPI »

Ein Delay(1) würde ich reinhauen, sonst frist es 100% Resourcen.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Benutzeravatar
Hroudtwolf
Beiträge: 1416
Registriert: 30.10.2004 23:33
Kontaktdaten:

Beitrag von Hroudtwolf »

Stimmt hab ich vergessen ..Sorry
Bytedevil
Beiträge: 34
Registriert: 30.12.2004 21:37

Beitrag von Bytedevil »

Hab mich vielleicht unglücklich ausgedrückt... eine Lösung àla Hroudtwolf hätte ich mir sicherlich auch noch zusammenbasteln können.

Trotzdem: VIELEN DANK!!!

Aber warum verhält sich mein Programm so? Eigentlich müßte es doch nur einen Eintrag machen, da hWnd ja auf "0" gesetzt wird.
Benutzeravatar
Donald
Beiträge: 307
Registriert: 03.01.2005 02:21
Wohnort: Marl

Beitrag von Donald »

Hi,

klar setzte den auf 0,
und beim nächsten durchlauf wird der Wert wieder eingelesen.
DONALD :D www.PureBasic-Donald.de gibt es im Moment nicht mehr
PureBasic - jaPBe - PureVisonXP - TailBite
Bytedevil
Beiträge: 34
Registriert: 30.12.2004 21:37

Beitrag von Bytedevil »

Manchmal sieht man den Wald vor Bäumen nicht...
Antworten