DBGrid输入数据时怎样让网格内的COMBOBOX自动下拉? BY 英国病人(105分)

  • 主题发起人 主题发起人 英国病人
  • 开始时间 开始时间

英国病人

Unregistered / Unconfirmed
GUEST, unregistred user!
DBGRID输入数据时,我不想有鼠标参与, 只用键盘输入.
怎样让网格内的COMBOBOX自动下拉? 请指教
 
把DBGRID的列编辑器打开,PICKLIST属性中就可以填加列表项
 
请看清题目

在运行时,怎样让光标一进入有COMBOBOX的列,就自动下拉, 而又不用鼠标;
 
你看它对你是否有帮助http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=229013
 
小澜呀, 多谢你的热心, 可哪个问题并不能帮助我.
这是我的程序:
DBGrid1.Columns[2].ButtonStyle:=cbsEllipsis;
DBGrid1.Columns[4].PickList.Add('令狐冲');
DBGrid1.Columns[4].PickList.Add('蓝凤凰');
然后就是上面的问题,如何解决?

 
这是我的程序:
DBGrid1.Columns[2].ButtonStyle:=cbsEllipsis;
DBGrid1.Columns[2].PickList.Add('令狐冲');
DBGrid1.Columns[2].PickList.Add('蓝凤凰');
然后就是上面的问题,如何解决?
 
呵呵。。
DBGrid.columns.PickList.Add('英国病人‘)。
用sender 模拟单击combox不知道行不?
----怎么模拟?不会的说。。我也想知道(我闪。。)
 
来啦,来啦,快给分:-)
procedure TForm1.ComboBox1Enter(Sender: TObject);
begin
SendMessage(Combobox1.Handle, CB_SHOWDROPDOWN, Longint(True), 0);
end;
 
Fudi 这个好象不一样!
 
OnColEnter时设置Editormode:=True,ComboBox出现,
如果这是按下Alt+Down下拉列表就会弹出,
可是如何模拟Alt+Down?俺不知道,试了半天没结果
 
终于搞定:
procedure TForm1.DBGrid1ColEnter(Sender: TObject);
begin
DBGrid1.EditorMode:=True;
keybd_event( VK_MENU, MapVirtualKey( VK_MENU, 0 ), 0 , 0 ); keybd_event( VK_DOWN, MapVirtualKey( VK_DOWN, 0 ), 0 , 0 );
keybd_event( VK_DOWN, MapVirtualKey( VK_DOWN, 0 ), KEYEVENTF_KEYUP , 0 );
keybd_event( VK_MENU, MapVirtualKey( VK_MENU, 0 ), KEYEVENTF_KEYUP , 0 );
end;
此代码在哪个事件触发以及什么条件触发,你自己来吧
 
多人接受答案了。
 
后退
顶部