Listboxes

Hi,
Ich will einen Dialog zur Eingabe von x,y,z Werten für ein Diagramm erstellen. Die Werte sollen in 3 einzelne Eingabefeld eingegeben werde und, sobald der Benutzer sie bestätigt hat, in Listboxes übernommen werden. Es ist wichtig dass in allen 3 Listboxes immer dasselbe Element ausgewählt ist:

if((HWND) param1 == m\_listbox1)
{
 if(HIWORD(param0) == LBN\_SELCHANGE)
 {
 int index = SendMessage(m\_listbox1, LB\_GETCURSEL, 0, 0);
 SendMessage(m\_listbox2, LB\_SETCURSEL, index, 0);
 }
}

Mein Problem ist dass es durch den Umweg über Messages ziemlich lange dauert bis die anderen Listboxes upgedatet werden. Gibt es vielleicht eine Möglichkeit die ausgewählten Elemente einer Listbox direkt auszulesen/zu wählen ?

Mein Programm:
http://mitglied.lycos.de/cozmo86/3angle.exe

Grüße,
Daniel Raffler

Hallo Daniel!

Wenn es Dir mit Messages zu lange dauert, dann wirst Du Dich schwer tun, etwas schnelleres zu finden, da die ganzen Windows Controls nun mal Message-basiert sind und auch z.B. die ganzen Methoden der MFC-Klassen in letzter Instanz auch mit Messages arbeiten.
Versuche vielleicht erst zu verifizieren, ob die Verzögerung tatsächlich da her kommt - ich bezweifle es stark.

Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Daniel!

Wenn es Dir mit Messages zu lange dauert, dann wirst Du Dich
schwer tun, etwas schnelleres zu finden, da die ganzen Windows
Controls nun mal Message-basiert sind und auch z.B. die ganzen
Methoden der MFC-Klassen in letzter Instanz auch mit Messages
arbeiten.
Versuche vielleicht erst zu verifizieren, ob die Verzögerung
tatsächlich da her kommt - ich bezweifle es stark.

Martin

Hallo Martin,
die Messages werden in meinen Programm durch einen Verteiler direkt an die Methoden einer Klasse zur Nachrichtenverarbeitung weitergeleitet, ähnlich wie in der MFC. Ich werde mal einige Messungen vornehmen um herauszufinden ob die Verzögerung wirklich durch die Messages entsteht.

Danke für deine Hilfe,
Daniel Raffler

Versuche vielleicht erst zu verifizieren, ob die Verzögerung
tatsächlich da her kommt - ich bezweifle es stark.

Hi Martin,
Ich habe jetzt einige Messungen vorgenommen und dabei festgestellt dass es weniger als 1 ms dauert die Listbox zu aktualisieren. Ich bin mir deshalb jetzt ziemlich sicher dass die Verzögerungen vielmehr dadurch entstehen dass LBN_SELCHANGE erst dann gesendet wird wenn die linke Maustaste wieder losgelassen wird und nicht gleich nach dem Anwählen des Elements. Gibt es vielleicht eine Möglichkeit direkt auf den Mausclick zu reagieren ?

Grüße,
Daniel Raffler