Comboboxanzeige (Dropdown-Liste) löschen



  • hallo,

    ich habe eine Combobox als Dropdown Liste definiert, als member variable habe ich einen CString erstellt (als sie noch als dropdown definiert war) und kann deswegen jetzt keinen int wert als membervariable definieren.

    Wie kann ich trotzdem den aktuell angezeigten string entfernen so dass die combobox zwar ihre listenelemente behält aber nichts gewählt ist. über die CString variable lässt sich da leider nix machen, ich kann über diese nur den Comboboxinhalt abfragen

    danke für eure antworten

    mfg, TFTS



  • Hallo,

    hab ich das richtig verstanden, du willst das in der Box die Einträge als string drin stehen, wenn die Box aber sichtbar wird dann soll kein Eintrag selektiert sein?

    Das kannst du machen, in dem du bei SetCurSel() oder so ähnlich eine 0 bzw. -1 vorgibst.

    Viele Grüße
    Manuela



  • ich möchte einfach erreichen dass nichts angewählt ist, sicherlich wird das mit dieser setcursor fuktion funktionieren... nur wie muss ich die genau anwenden bzw. schreiben?

    danke schonmal

    mfg, TFTS



  • TFTomSun schrieb:

    ich möchte einfach erreichen dass nichts angewählt ist, sicherlich wird das mit dieser setcursor fuktion funktionieren... nur wie muss ich die genau anwenden bzw. schreiben?

    danke schonmal

    mfg, TFTS

    www.msdn.microsoft.com



  • wie hilfreich...

    an die anderen:
    das problem ist nicht, dass ich nicht weiss wie ich die funktion zu schreiben hab, nur dass er sie nicht ausführt. ich hab schon mit updatedata rumhandiert, an der einen stelle gehts an der anderen nicht und ich hab keinen blassen schimmer wie das zu stande kommen kann

    also bei einer button click funktion geht es, da werden die combobox felder leer, bei einer OnSelChangeCOMBO jedoch nicht...

    wahrscheinlich wird mir da niemand helfen können...

    mfg, TFTS



  • TFTomSun schrieb:

    wie hilfreich...

    an die anderen:
    das problem ist nicht, dass ich nicht weiss wie ich die funktion zu schreiben hab, nur dass er sie nicht ausführt. ich hab schon mit updatedata rumhandiert, an der einen stelle gehts an der anderen nicht und ich hab keinen blassen schimmer wie das zu stande kommen kann

    also bei einer button click funktion geht es, da werden die combobox felder leer, bei einer OnSelChangeCOMBO jedoch nicht...

    wahrscheinlich wird mir da niemand helfen können...

    mfg, TFTS

    was heisst hier "wie hilfreich"?
    formulier mal bitte das problem nochmal und poste deinen code.
    du moechtest mit der OnSelChangeCombo-Methode bewirken, dass nichts mehr angezeigt wird??? 😕
    da muesstest du dann den befehl natuerlich HINTER die windowmessage schreiben, die du dann beim abfangen ans sys schickst.

    Esco



  • wie hilfreich heisst, dass du dir die zeit für den kommentar auch hättest sparen können, da die meisten die hier nach einer lösung suchen mit der msdn sowieso nicht viel anfangen können. Der rest weiss wo es die msdn gibt

    mein problem hat sich erledigt, ich habe es anders gelöst

    mfg, TFTS



  • TFTomSun schrieb:

    da die meisten die hier nach einer lösung suchen mit der msdn sowieso nicht viel anfangen können.

    dann haben wir den fehler ja schon gefunden 😃

    bin ich hier der uebersetzer und buchzitierer fuer faule saecke? 🙂

    Esco



  • sorry, aber du musst schon selber wissen wofür du hier bist...soviel verstand traue ich dir zu

    und wenn du dich halt gut fühlst bloß weil du jmd mit dem link zu msdn "geholfen" hast, schön für dich, aber das ist keine hilfe



  • @TFTomSun: Der Quellcode wäre schon mal interessant - dann kann man dir deutlich besser helfen.
    Du kannst nämlich den richtigen Befehl schon haben, aber wenn danach noch was kommt, was dir das wieder "kaputt" macht, dann sieht es trotzdem aus, als wenn du was falsch gemacht hättest. 🙂

    @Esco: Ich habe hier 3 Offline MSDNs, fast 20 Bücher und nen Internetanschluß - trotzdem kann ich damit nicht jedes Problem lösen.
    Wenn man mal ein Brett vorm Kopf hat hilft das tollste Buch nix, dann braucht man jemanden, der einen mit der Nase auf die Lösung stößt.
    Dafür ist das hier doch ein Forum... 🙄



  • sorry, aber wie ich schon oben geschrieben habe, ich habe es jetzt anders gelöst. der vorhergehende code existiert also nicht mehr

    hab einen extra eintrag ("---") in mein dropdown listen feld eingefügt und rufe diesen über meine CString Membervariable auf (m_cstringcombo="---"). Was eigenartig ist, wenn ich diesem "leer" eintrag einen inhalt geben (zb diese 3 striche) kann ich ihn wieder über meine CString variable aufrufen. wenn ich ihn jedoch wirklich leer mache (""), zeigt die Combobox nach dem aufruf von m_cstringcombo=""; nicht an.

    ursprünglich wollte ich die combobox leeren, ohne, dass ich dafür einen extra eintrag im listenfeld vergebe (also kein "" oder "---"). wenn ich über eine Button Funktion combocontrol.setcursel(-1); aufgerufen habe ging es, die Combobox war leer, wenn ich jedoch das selbe über eine ANDERE Combobox und deren Fkt "selchange" gemacht habe, ging es nicht. es kann also nur an irgendwelchen UpdateData gehangen haben. obwohl ich immer davor UpdateData(true) und dahinter UpdateData(false) geschrieben hatte.

    ist vielleicht jetz nicht so verständlich, ist aber auch egal jetz. mit dem (---) eintrag in der comboboxliste kann ich leben, er ist vielleicht sogar ganz praktisch

    trotzdem danke,

    mfg, TFTS



  • hi ich verstehe was du meinst.. habe das gleiche problem und möchte es nicht wirklich auf die weise lösen wie du.

    ich beschreibe das problem nochmal, vielleicht wird es dann etwas klarer.
    ich habe 2 dropdownlisten felder mit inhalt. als beispiel inhalt: bla, test, blubb
    wenn man den dialog öffnet ist das listenfeld noch leer. sobald man nun eins der drei einträge auswählt steht in dem listenfeld der gewählte eintrag, z.b. bla.

    nun möchte ich aber nachdem ich einen button klicke, dass der inhalt wieder verschwindet. die einträge im listenfeld sollen vorhanden bleiben, aber es soll keins mehr ausgewählt sein.
    mit dem befehl errorclass = (_T("")); wobei errorclass der CString ist, welcher für die combobox definiert ist, funktioniert es nicht. nachdem klicken des buttons steht weiterhin "bla" in dem listenfeld.



  • Mach eine Controlvariable für die Combobox und ruf für die dann SetCurSel(-1) auf. 🙂



  • danke für die schnelle antwort. klappt soweit man muss nur glaub ich noch folgendes beachten sonst will das nicht.

    vor den SetCurSel(-1) befehl muss man trotzdem noch den CString leeren, also

    CString variable = (_T(""));
    Combobox variable.SetCurSel(-1);
    

    dann gehts 🙂



  • Das lag an einem wohl später noch folgenden UpdateData(FALSE) 😉


Anmelden zum Antworten