tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
1066
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Codemeier Codemeier ist offline Grünschnabel
    Registriert seit
    Mar 2005
    Beiträge
    3
    Hallo!

    Ich habe folgendes Problem: Ich möchte gerne in einer Combo während der Texteingabe die DropDown-Liste automatisch mit passenden Items füllen und so dem Benutzer die Eingabe erleichtern. Das mit dem automatischen befüllen der Liste funktioniert auch schon einwandfrei. Nur finde ich leider keine Möglichkeit, sie automatisch anzuzeigen. Jetzt habe ich mir gedacht, dass das vielleicht mit einem künstlich erzeugten MouseEvent funktionieren könnte (das dann praktisch einen Mausklick auf den DropDown-auslösenden Button simuliert). Doch hier komme ich auch nicht weiter, weil ich nicht weiß, wie man ein solches MouseEvent an ein Widget weitergibt.

    Ich hoffe es kann mir jemand helfen!
    Geändert von Codemeier (06.03.05 um 20:11 Uhr)
     

  2. #2
    Codemeier Codemeier ist offline Grünschnabel
    Registriert seit
    Mar 2005
    Beiträge
    3
    Kann mir wirklich niemand weiterhelfen? Es muss doch irgendwie möglich sein, die Drop-Down Liste einzublenden, da es ja bei einem Mausklick auch funktioniert. D.h. es muss doch irgendeinen API-Aufruf an die Combo geben, der die Liste erscheinen lässt, oder?
    Leider kenne ich mich mit SWT noch nicht so aus, aber vielleicht gibt es ja jemanden hier, der mir ein bisschen auf die Sprünge helfen könnte .
    Vielen Dank im Voraus!
     

  3. #3
    snake_plissken snake_plissken ist offline Mitglied
    Registriert seit
    Dec 2004
    Beiträge
    12
    Hi,

    leider etwas spät gesehen, aber falls Du es nicht ohnehin schon selber gefunden hast:

    import org.eclipse.swt.widgets.*;
    import org.eclipse.swt.internal.win32.OS;

    public static void showPopup(Combo combo, boolean show) {
    if (!combo.isDisposed()) {
    OS.SendMessage(combo.handle, OS.CB_SHOWDROPDOWN, show ? 1 : 0, 0);
    }

    }

    public static boolean isPopupShowing(Combo combo) {
    boolean result = false;
    if (!combo.isDisposed()) {
    result = (OS.SendMessage(combo.handle, OS.CB_GETDROPPEDSTATE, 0,
    0) != 0);
    }
    return result;
    }
    Anwendung wie folgt: showPopup(meineCombo, !isPopUpShowing(meineCombo));

    Cheers,

    Snake
     

  4. #4
    Codemeier Codemeier ist offline Grünschnabel
    Registriert seit
    Mar 2005
    Beiträge
    3
    Danke für den Tipp! Ich habe es jetzt schon anders gelöst, in dem ich mir so eine Combo selber aus Textfeld, Button und Popup-Menü zusammengebaut habe. Das hat den Vorteil, dass es plattformunabhängig bleibt, aber dein Lösungsansatz wäre natürlich vom Programmieraufwand her viel einfacher und schneller zu implementieren.

    Danke,

    Codemeier
     

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 17.12.10, 09:39
  2. Antworten: 2
    Letzter Beitrag: 23.09.09, 12:30
  3. SWT combo nach oben öffnen
    Von NGP im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 0
    Letzter Beitrag: 17.03.09, 15:54
  4. [MySql 4] Werte aus Dropdown (Combo) Liste in Datenbank eintragen
    Von y0h im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 31.03.05, 16:54
  5. Suchen nach einer Liste von Zeichenketten in einer Datei
    Von freshone im Forum CGI, Perl, Python, Ruby, Power Shell
    Antworten: 2
    Letzter Beitrag: 14.01.05, 13:45