diff --git a/designer/objectinspector.pp b/designer/objectinspector.pp index 603e8279c8..4d3fa07aa4 100644 --- a/designer/objectinspector.pp +++ b/designer/objectinspector.pp @@ -207,7 +207,11 @@ type procedure ValueComboBoxExit(Sender: TObject); procedure ValueComboBoxChange(Sender: TObject); procedure ValueComboBoxKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); + procedure ValueComboBoxCloseUp(Sender: TObject); + procedure ValueComboBoxDropDown(Sender: TObject); procedure ValueButtonClick(Sender: TObject); + procedure ValueComboBoxDrawItem(Control: TWinControl; Index: Integer; + ARect: TRect; State: TOwnerDrawState); procedure WMVScroll(var Msg: TWMScroll); message WM_VSCROLL; procedure WMMouseMove(var Msg: TWMMouseMove); message WM_MOUSEMOVE; @@ -397,6 +401,9 @@ begin //OnChange:=@ValueComboBoxChange; the on change event is called even, // if the user is editing OnKeyDown:=@ValueComboBoxKeyDown; + OnDropDown:=@ValueComboBoxDropDown; + OnCloseUp:=@ValueComboBoxCloseUp; + OnDrawItem:=@ValueComboBoxDrawItem; end; ValueButton:=TButton.Create(Self); @@ -1304,6 +1311,66 @@ begin Result:=TOIPropertyGridRow(FRows[Index]); end; +procedure TOIPropertyGrid.ValueComboBoxCloseUp(Sender: TObject); +begin + SetRowValue; +end; + +procedure TOIPropertyGrid.ValueComboBoxDropDown(Sender: TObject); +var + CurRow: TOIPropertyGridRow; + MaxItemWidth, CurItemWidth, i, Cnt: integer; + ItemValue: string; +begin + if (FItemIndex>=0) and (FItemIndex=0) and (FItemIndex=0) and (Index