如何实现TCOMBOBOX下拉箭头的重绘.(200分)

  • 主题发起人 主题发起人 mcs51
  • 开始时间 开始时间
M

mcs51

Unregistered / Unconfirmed
GUEST, unregistred user!
如何将COMBOBOX的下拉箭头重绘,换成自定义的图标?或者自定义的字符串如[...]
 
继承自己想画什么就画什么
 
我建议采用组合方式来实现,放一个Button按钮,覆盖住Combox的下拉按钮,
然后实现下面的事件。就Ok了。

procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
Msg: TWMLButtonDown;
begin
Msg.Msg := WM_LBUTTONDOWN;
Msg.Keys := Byte(Button);
Msg.XPos := X + Button1.Left - ComboBox1.Left;
Msg.YPos := Y;
Msg.Result := 0;

ComboBox1.Dispatch(Msg);
end;

呵呵,以后你想怎么画都可以:)如果你愿意的话,还可以用SpeedButton,加上图标等等。

Good Luck!
 

Similar threads

回复
0
查看
1K
不得闲
D
回复
0
查看
767
DelphiTeacher的专栏
D
D
回复
0
查看
809
DelphiTeacher的专栏
D
D
回复
0
查看
639
DelphiTeacher的专栏
D
D
回复
0
查看
825
DelphiTeacher的专栏
D
后退
顶部