CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  Windows SDK/API

如何给其他应用程序窗口的工具栏中的工具按钮发类似Click的消息?

楼主hatumei(明月)2002-11-07 09:37:33 在 C++ Builder / Windows SDK/API 提问

我截获了工具栏按钮的Click消息.其中有WM_COMMAND消息,我用消息函数  
      SendMessage(hToolbar,WM_COMMAND,INDEX,0);  
  怎么没有处理相应的Click函数?是还有其他伴随消息或者消息发送的不正确? 问题点数:20、回复次数:10Top

1 楼sonyboss(zerodj)回复于 2002-11-15 23:39:59 得分 2

click事件实际是MOUSE的按下后的事件  
  也可以给那个按纽发送键盘按下回车事件  
   
  //本程序操作了已经是EXE的窗口程序  
  //如果你是在你自己的程序中调用那HWND得到就更加正确了  
  //在一个CAPTION为form1的窗口程序上  
  AnsiString="form1";              
  HWND   wnd    
  //取得caption为form1窗口的句柄  
  wnd=   FindWindow(NULL,s.c_str());  
  //取得该窗口上CAPTION为OK的按钮(也可以是工具条上的按钮)句柄  
  wnd   =   FindWindowEx(wnd,   0,   NULL,   "OK");  
   
  //在这个按钮上模拟一个回车安下的事件  
  if(wnd!=NULL)PostMessage(wnd,WM_KEYDOWN,VK_RETURN,0);Top

2 楼hatumei(明月)回复于 2002-12-05 10:55:43 得分 0

不行呀,我试过了,对一般的窗口有效,对toolbar就不行了Top

3 楼zbc(修身养息,百战不怠)回复于 2002-12-05 13:43:19 得分 2

对于单击消息的处理,好像是没有这样的消息的,除非我没有用到过:(  
      不过,如果是MouseDown消息,那还差不多  
    SendMessage(handle,WM_LBUTTONDOWN,MK_LBUTTON,NULL);Top

4 楼invalid(空心菜(Python是个好东东,大家多用用!))回复于 2002-12-05 13:44:54 得分 2

toolbar上的按钮好像没有句柄。Top

5 楼hatumei(明月)回复于 2002-12-06 10:33:29 得分 0

to:invalid(空心菜之2.0开发中)    
  对,我跟踪了WM_COMMAND消息,其中wparam就是toolbutton的索引,但我用SendMessage(hToolbar,WM_COMMAND,INDEX,0);  
  却没有效果,是否还有别的消息?Top

6 楼keenleung(Sword Master)回复于 2002-12-06 11:00:01 得分 2

用WM_LBUTTONDOWN和WM_LBUTTONUP去跟跟看  
  SendMessage(Toolbar->handle,WM_LBUTTONDOWN,1,LPARAM);  
  SendMessage(Toolbar->handle,WM_LBUTTONUP,0,LPARAM);  
  LPARAM表示鼠标点击的位置,可以直接用跟出来的结果Top

7 楼hatumei(明月)回复于 2002-12-06 16:53:44 得分 0

不行的,还是无法定位工具按钮Top

8 楼invalid(空心菜(Python是个好东东,大家多用用!))回复于 2002-12-06 16:58:06 得分 2

WM_COMMAND我也没有试验成功啊。  
  还有TB_PRESSBUTTON也不行啊。Top

9 楼keenleung(Sword Master)回复于 2002-12-06 17:44:33 得分 2

不知道怎么回事,我这边是可以的  
  用WM_LBUTTONDBLCLK和WM_LBUTTONUP来模拟双击右下角的ToolBarWindow32都可以了Top

10 楼zbyjjyy(1)回复于 2002-12-09 03:18:38 得分 8

关于ToolBar我知道两点,不知对你们有没有帮助:  
      1、ToolButton继承自TGraphicControl而不是TWinControl,它其实不是一个Window,更不是一个Button,它的一切,都是由其父组件——ToolBar负责实现的。外人有它什么事,该找它“老豆”(ToolBar)。  
      2、当ToolButton被MouseDown时,会捕获鼠标(MouseCapture,当然,实质为ToolBar的MouseCapture)。Top

相关问题

  • 如何向其他应用程序的工具栏加入按钮?
  • 如何向其它应用程序的工具栏上增加按钮?
  • 怎样实现向其它应用程序的 工具栏中的按钮 执行单击操作
  • 用pb开发的应用程序工具栏的问题
  • 图形按钮?工具栏?
  • 再问:PB应用程序中的工具栏使用大于16×16图标?
  • 关于在对话框应用程序中增加工具栏的问题!
  • 如何把应用程序在右下脚的工具栏执行?
  • 急~~~!怎样给单文档的应用程序再添加一个工具栏?
  • 用VC怎样获取其它应用程序中工具栏的句柄

关键词

  • 消息
  • toolbar
  • null
  • 按钮
  • wnd
  • 程序
  • wm
  • 不行
  • 事件
  • click

得分解答快速导航

  • 帖主:hatumei
  • sonyboss
  • zbc
  • invalid
  • keenleung
  • invalid
  • keenleung
  • zbyjjyy

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo