Combobox ausklappen - Mauszeiger goes crazy

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
NicknameFJ
Beiträge: 324
Registriert: 03.06.2007 14:36
Wohnort: Von der Sonne aus gesehen der dritte Planet

Combobox ausklappen - Mauszeiger goes crazy

Beitrag von NicknameFJ »

Hallo,

ich habe ein Programm > 30K Zeilen deshalb kann ich nicht das ganze Programm hier reinstellen.

Ich habe dort eine ComboBox, die ich programmgesteuert gleich aufklappen lasse. Das Programm läuft auf einem XP und mehreren WIN 7 Rechnern. Das Aufklappen funktioniert auch so weit, jedoch wird nach dem Aufklappen der ComboBox der Mauszeiger nicht mehr angezeigt.

Ich konnte das Problem soweit eingrenzen (?) dass ich hier einen kurzen Code posten kann

Code: Alles auswählen

If OpenWindow(1,0,0,200,150,"TEST")
 ;  CreateGadgetList(WindowID(1))
   ComboBoxGadget(1,10,10,100,180,#PB_ComboBox_Editable)
   
   For i = 0 To 999
     AddGadgetItem(1,-1,RSet(Str(i),3,"0"))
   Next

    SendMessage_(GadgetID(1),#CB_SHOWDROPDOWN,1,1)
   
   Repeat
     event = WaitWindowEvent()
   Until Event = #PB_Event_CloseWindow

EndIf
Führe ich diesen Code aus wird zwar der Mauszeiger dennoch angezeigt, jedoch als "Eieruhr". Ich kann mir nicht vorstellen, dass mein Rechner mit dem Code ausgelastet ist :-) Leider kann ich in diesem kurzem Code nicht nachstellen, dass kein Mauszeiger mehr angezeigt wird, aber da die Eieruhr angezeigt wird vermute ich dass ich beim Sendmessage irgend was nicht beachte. Die Sendmessage Zeile auskommentiert und der Mauszeiger macht was er soll, aber ich möchte ja die Combobox ausgeklappt haben und der Mauszeiger soll auch anständig sein!

Kann das jemand bestätigen?

Hat hier jemand eine Idee und kann mir sagen wie ich die Combobox richtig auszuklappen habe?

getestet mit PB 4.10 (mit dem mein eigentliches Programm compiliert wird, als auch mit 4.61 und 5.00)

Danke im Vorraus

NicknameFJ
PS: Alle im Text enthaltenen Schreibfehler sind beabsichtigt und dienen der Belustigung aller

Bild
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7039
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Combobox ausklappen - Mauszeiger goes crazy

Beitrag von STARGÅTE »

Ich behaupte mal, dass du nich eine Art "Repaint" senden musst.

Außerdem würde ich das Gadget nicht 130px Hoch machen, denn der Height-Parameter bestimmt nicht die Ausklappgröße (kann sein das es früher anders war).
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Re: Combobox ausklappen - Mauszeiger goes crazy

Beitrag von edel »

Versuch mal folgenden Code

Code: Alles auswählen

   SendMessage_(GadgetID(1),#CB_SHOWDROPDOWN,1,0)
   a = LoadCursor_(0,#IDC_ARROW)
   SetCursor_(a)
Benutzeravatar
NicknameFJ
Beiträge: 324
Registriert: 03.06.2007 14:36
Wohnort: Von der Sonne aus gesehen der dritte Planet

Re: Combobox ausklappen - Mauszeiger goes crazy

Beitrag von NicknameFJ »

Danke Euch beiden.

@Stargate: Ja, das mit der Höhe ist mir klar, war aber früher anders. Deshalb habe ich hier die Höhe mit angegeben. Das Snippet habe ich ursprünglich auf PB4.10 getestet. Daher auch CreateGadgetList, was ich zum Test für Euch (mit PB 4.61 oder 5.00) auskommentiert habe.

@Edel: Den Cursor neu laden hat geholfen. Nicht nur hier mit dem Snippet sondern auch im richtigen Programm wo der Mauszeiger überhaupt nicht mehr angezeigt wurde! Im richtigen Prog. habe ich es vorher auch schon mit ShowCursor_() versucht aber ohne Erfolg. LoadCursor_() hat geholfen.

Danke

NicknameFJ
PS: Alle im Text enthaltenen Schreibfehler sind beabsichtigt und dienen der Belustigung aller

Bild
Antworten