Einzelnen Beitrag anzeigen

Benutzerbild von mleyen
mleyen

Registriert seit: 10. Aug 2007
609 Beiträge
 
FreePascal / Lazarus
 
#9

AW: fremde Combobox mit CBN_SELCHANGE ändern

  Alt 24. Nov 2010, 08:51
ja, ok.
Ich habs jetzt nochmal spaßeshalber getestet und siehe da: es geht nicht mehr mit der 1000.
Dann würde mich mal interessieren, ob du zuvor (als es "zufällig") ging nicht zufällig das Fenster welches die CB besitzt fokussiert hattest?!
Ich hatte immer mein Formular aktiv um die Routine zu betätigen.
Vorhin hab ich es mal in einem Timer senden lassen und währenddessen die CB fokussiert. Nichts.

Aber ich hab jetzt einen Workaround der immer klappt:
Delphi-Quellcode:
      CBContent := getWinText(wndCB);
      if CBContent = cStr1 then
        tmp := SendMessage(wndCB, CB_FINDSTRING, -1, Integer(@cStr2[1]))
      else
        if CBContent = cStr2 then
          tmp := SendMessage(wndCB, CB_FINDSTRING, -1, Integer(@cStr1[1]))
        else
          Exit;
      SendMessage(wndCB, CB_SETCURSEL, tmp, 0);
      PostMessage(wndCB, WM_KEYDOWN, VK_RETURN, MakeLong(0, MapVirtualKey(VK_RETURN, 0)) );
      PostMessage(wndCB, WM_KEYUP, VK_RETURN, Cardinal(MakeLong(0, MapVirtualKey(VK_RETURN, 0))) or $C0000000);
So reichts mir jetzt eigentlich.
  Mit Zitat antworten Zitat