在combobox中有4个选项a,b,c,d。用鼠标选择时可以利用onpress或onclick触发事件,运行里面的代码。可是当combobox中的选项被程序自动选择时,怎么自动运行里面的程序啊?
解决方案 »
- 分享QQ上自己刚发现的一个有趣的东西,并讨论下是什么原理
- 关于checkbox控件的数据库应用
- dblookupcombobox为什末不能放在DbCtrlGrid当中
- 救命:我的form会自动show~~~~~:(((
- Tsavedialog控件把波形音频流存为文件的问题!!
- 一个关于游标的问题
- 我想对DBGRID中的行进行操作,最好是单击其中一行,程序就能知道他的值
- 关于MDI窗体的问题
- delphi中通过dbexpress连接db2数据库时,只要求输入数据库名字,没发现输入机器名或IP地址的地方,为什么呢?
- 紧急 ,,,,,,如何在delphi中检查是否其他程序运行。紧急 ,,,,,,
- 送分,有关dbgrid
- 请问怎么实现任意一个控件的透明。
unit MYCOMBO;interfaceuses Messages, Classes, StdCtrls;type
TMyComboBox = class(TComboBox)
private
FOnItemChanged : TNotifyEvent;
protected
procedure WndProc(var Message: TMessage); override;
procedure Change; override;
published
property OnItemChanged: TNotifyEvent read FOnItemChanged write FOnItemChanged;
end;procedure Register;implementation{______________________________________________________________________________}
procedure Register;
begin
RegisterComponents('MikoComponent',[TMyComboBox]);
end;{______________________________________________________________________________}
procedure TMyComboBox.WndProc(var Message: TMessage);
begin
inherited WndProc(Message);
if (Message.Msg = CB_SETCURSEL) then
if Assigned(FOnItemChanged) then
FOnItemChanged(Self);
end;procedure TMyComboBox.Change;
begin
if Assigned(FOnItemChanged) then
FOnItemChanged(Self);
inherited Change;
end;
end.将以前的onchange事件换成OnItemChanged就可以了