2012-03-21 14 views

回答

0

沒有一個OwnerDraw樣式支持TComboBox中的編輯框的存在。您將不得不單獨使用TEdit

7

德爾福的TComboBox包裝不支持所有者繪製可編輯樣式,但底層的Windows控件確實可以,並且很容易啓用它。

創建一個新的子類,像這樣:

TComboBox = class(StdCtrls.TComboBox) 
public 
    procedure CreateParams(var Params: TCreateParams); override; 
end; 

procedure TComboBox.CreateParams(var Params: TCreateParams); 
begin 
    inherited; 
    if Assigned(OnDrawItem) then 
    Params.Style := Params.Style or CBS_OWNERDRAWFIXED 
end; 

設置StylecsDropDown並分配OnDrawItem像你已經做了。