den Item Inhalt variabel anzeigen über die Eigenschaft Hint der ComboBox



  • Hallo Leute, 😕

    Kann mir jemand helfen? Ich Lese aus einer Datei immer wieder zum aktualisieren einer ComboBox Strings aus. Nun Kann es auch mal vorkommen, dass nach dem Übergeben der Strings in die ComboBox, die Beite nicht ausreicht damit der gesammte Text angezeigt wird. Hab mir überlegt dies über die Eigenschaft Hint zumachen. Zwar wenn ich die ComboBox öffne und mit die Maus über die Inhate der ComboBox halte, den gesammten Text des Inhaltes von (Item) Hint anzeigen zu lassen.

    Wäre Toll es wüste jemand eine Lösung. Egal welche.

    Ohne Sonne am Himmel ist es immer Dunkel!! 🤡

    bis dann und Danke im voraus. 🙄



  • wenn du solch ein aufwand treiben willst, kannste gleich die LIste der Combobox breiter machen 🙂



  • Aber hallo,

    ich hab doch keinen Platz, deshalb will ich das ja so machen. Auf diese Lösung bin ich auch schon gekommen. Kann aber jetzt nicht mehr mein ganzes Disign des Formulars um bauen. Haste vieleicht noch ne andere Idee???

    Wenn ja bitte. Kann jede Hilfe gebrauche.

    Bis dann ....





  • Hi,
    auch wenn Du eigentlich keinen Platz hast,
    ist das hier eine einfache Methode, trotzdem den kompletten Text in der Liste darzustellen.

    int TextWidth;
      int TextMaxWidth = 0;
      // damits auch bei jeder Textgroesse klappt:
      ComboBox1->Canvas->Font->Size = ComboBox1->Font->Size;
      for(int i = 0; i < ComboBox1->Items->Count; i++)
      {
        TextWidth = ComboBox1->Canvas->TextWidth(ComboBox1->Items->Strings[i]) +
                    GetSystemMetrics(SM_CXVSCROLL) + 10;
        if(TextMaxWidth < TextWidth)
        {
          TextMaxWidth = TextWidth;
        }
      }
      ComboBox1->Perform(CB_SETDROPPEDWIDTH, TextMaxWidth, 0);
    

Anmelden zum Antworten