ComboBox Breite der List???



  • Moinsn,

    kann die Breite der List, die zu einer TComboBox( Style = ComboBoxList ) gehört, vergrössert werden?
    Habe im aktuellen Fall nur sehr wenig Platz für die ComboBox, die enthaltenen Einträge sollten aber schon komplett angezeigt werden.

    Also z. B. CB->Width = 50, List sollte Width = 150 haben.
    Bilde mir ein, sowas schon mal gesehen zu haben?!

    grüssle 🙂

    p.s erst denken, dann schreiben 😮
    =>

    SendMessage( CB->Handle, CB_SETDROPPEDWIDTH, 150, 0 );
    


  • Hi,

    mit meiner TComboBox kann ich zwar nur Style =csDropDownListvorgeben,
    im Event OnDropDown geht aber deine Codezeile.

    void __fastcall TForm1::ComboBox1DropDown(TObject *Sender)
    {
       SendMessage( ComboBox1->Handle, CB_SETDROPPEDWIDTH, 350, 0 );
    }
    //---------------------------------------------------------------------------
    

    Das Image rechts der CB war komplett bedeckt (s.o. 350px) 😃

    mfg
    kpeter



  • Moin,

    ich habs jetzt so gemacht:

    Funktion, in der die ComboBox gefüllt wird

    TCanvas* te = ComboBox->Canvas;
    	int nLength;
    
    	for( i = 0; i < slDropDownEntries->Count; i++ )    // slDropDownEntries = TStringList
    	{
    		nLength = te->TextWidth(slDropDownEntries->Strings[i]);
    		if( nLength > cbListWidth )
    			cbListWidth = nLength;
    		ComboBoxSubLang->Items->Add( slDropDownEntries->Strings[i] );
    	}
    	ComboBox->DropDownCount = slDropDownEntries->Count;
    	SendMessage( ComboBox->Handle, CB_SETDROPPEDWIDTH, cbListWidth, 0 );
    

    grüssle 🙂


Anmelden zum Antworten