Comboboxex als dropdown mit Editfeld -> begrenzung der Zeichenlänge aufheben



  • Hallo,

    ich habe eine Comboboxex mit Dropdow und kann in dem Editfeld der Comboboxex Text eingeben. Leider ist die Texteingabe begrentzt und ich kann nur bis zum rechten Rand der Combobox Zeichen eingeben. Was muss ich tum um dies Beschränkung aufzuheben, sodass ich mehr Zeichen in das Editfeld kann?

    derDieter



  • Hallo, CBS_AUTOHSCROLL style bit setzen!



  • Danke passt soweit, wenn ich in der Resourcendatei das Control mit dem Style versehe, wenn ich das aber während der Inizialisierung des Dialoges mache klappt es nicht, weiss jemand warum? Hier mal mein Code, was ist da falsch?

    case WM_INITDIALOG:{
    			HWND		hCombo;
    			DWORD		style;
    			hCombo = GetDlgItem(hWnd, COMBO1);
    			style = GetWindowLong(hCombo, GWL_STYLE);
    			style |= CBS_AUTOHSCROLL;
    			SetWindowLong(hCombo, GWL_STYLE, style);
    			return 1;
    		}
    


  • Dafür brauchst du das HWND des Editfeldes der ComboBox:

    (...)
       hEdit = FindWindowEx ( hCombo, NULL, "EDIT", NULL);  // <- neu!
    (...)
       SetWindowLong( hEdit, GWL_STYLE, style);
    (...)
    

  • Mod

    @derDieter: Manche Stile kann man nur zr Zeit der Erzeugung setzen.
    Und warum machst Du es erst in InitDialog?
    @derIch: Dann muss er aber den ES_ Stil verwendne und nicht den CBS_ Stil


Anmelden zum Antworten