ComboBox的下拉框属性(100分)

  • 主题发起人 主题发起人 structer
  • 开始时间 开始时间
S

structer

Unregistered / Unconfirmed
GUEST, unregistred user!
在点击ComboBox打开其下拉框时,用鼠标在下拉框上移动时,鼠标
停留在下拉框中的某一项时,能否显示某一提示信息,如下拉框中
是代码时,要求显示名称
 
在Onselect里填写代码
procedure comboBox1Select(sender: TObject);
var s1,s2 : String;
begin
s1 := ComboBox1.Text;
s2 := 通过s1查找到的信息;
显示s2;
end;
 
To zhukewen:
ComboBox没有OnSelect事件呀
 
不会吧?你用的版本是多少?
我的D6可是有OnSelect啊。
 
提示信息通常都比较容易弄出来的,如果它要的是下拉框的项目为多列呢?效果不是更实在吗?
不过我目前也只是看到有第三方控件支持这样的功能,没试过在Combobox下如何去做了。:))
 
用addobject 直接在text显示名称,选的时候选代码
 
to structer:

delphi 5.0下的combobox1 好象没有定义事件去实现你所要的功能。
你可能只有去扩展它的功能达成你的要求。做一个控件。为其定义一个
onselect事件。但delphi6.0的控件有这样的功能。
 
我用的是Delphi5,
 
你可以:
1、改用delphi6
2、自己改造ComboBox,加上OnSelect。
改造方法如下
Type
TMyComboBox = class(TComboBox)
private
FOnSelect : TNotifyEvent;
procedure CNSelect(var message: TMessage);message CN_COMMAND;
published
property OnSelect: TNotifyEvent read FOnSelect write FNotifyEvent;
end;

implementation
procedure TMyComboBox.CNSelect(var Message: TMessage);
begin
if Message.NotifyCode = CBN_SELCHANGE then
if assigned(FOnSelect) then
FOnSelect(self);
end;
 
接受答案了.
 
后退
顶部