我在Button1Click事件中怎么样调用ComboBox1KeyDown中的事件???

helpforever 2003-08-27 09:35:34
我在键盘中处理了一些事件ComboBox1KeyDown(TObject *Sender,WORD &Key, TShiftState Shift);
现在想在一个按钮中调用这个事件怎么做??
void __fastcall TPictureForm::Button1Click(TObject *Sender)
{
ComboBox1KeyDown(TObject *Sender,WORD &Key, TShiftState Shift);//这句语句的Sender,Key,Shift3个参数怎么传递?
。。。。
}
...全文
60 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
CityHost 2003-08-27
  • 打赏
  • 举报
回复
最好向ComboBox传递消息,这样调用真还没试过
qibo999 2003-08-27
  • 打赏
  • 举报
回复
用SendMessage()等API给ComboBox1传个键盘消息,就行了
HeLZ 2003-08-27
  • 打赏
  • 举报
回复
qibo999的办法最好。
qibo999 2003-08-27
  • 打赏
  • 举报
回复
例如:
ComboBox1->SetFocus();
keybd_event(0x41,0,0,0);
keybd_event(0x41,0,KEYEVENTF_KEYUP,0);

或:

PostMessage(ComboBox1->Handle,WM_KEYDOWN,VK_RETURN,0) ;

或:

SendMessage(ComboBox1->Handle,WM_KEYDOWN,VK_RETURN,0);

HeLZ 2003-08-27
  • 打赏
  • 举报
回复
void __fastcall TForm1::ComboBox1KeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
ShowMessage(Key);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ComboBox1KeyDown(ComboBox1, VK_LEFT, TShiftState() << ssShift);
}
//---------------------------------------------------------------------------

VK_LEFT代表按了向左键.
ssShift代表按着Shift键了。Sender是一个指向自己的指针。TShiftState是指向键盘控制键
状态的一个集合类型。

看能不能满足你的要求。
编译通过,但有警告。
helpforever 2003-08-27
  • 打赏
  • 举报
回复
qibo999(行路者)
大哥 怎么传递啊?
能不能给了详细的解释??
谢谢

703

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder ActiveX/COM/DCOM
社区管理员
  • ActiveX/COM/DCOM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧