社区
API
帖子详情
如何得到TOOLbar上某个按钮的句柄,然后给这个按钮发一个点击的消息
wcm
2009-08-06 01:57:47
各位好
我已经知道TOOLBAR的句柄了,但是我如何得到TOOLbar上某个按钮的句柄,然后用sendmessage给这个按钮发一个点击的消息
请各位直接给代码 谢谢了 搞了一天了
...全文
818
12
打赏
收藏
如何得到TOOLbar上某个按钮的句柄,然后给这个按钮发一个点击的消息
各位好 我已经知道TOOLBAR的句柄了,但是我如何得到TOOLbar上某个按钮的句柄,然后用sendmessage给这个按钮发一个点击的消息 请各位直接给代码 谢谢了 搞了一天了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
coffee54676
2009-08-14
打赏
举报
回复
麻烦的很
取得toolbar句柄,然后取得按钮ID ,用sendmessage 发送wm_command 给这个按钮ID,理论上是这样,不过我没有试成功过。
===
下面是dephi写的,据说可以,自己看看
uses CommCtrl, Types; function ToolbarButtonClick( // 模拟点击其他进程的Toolbar按钮 mHandle: THandle; // Toolbar句柄
mIndex: Integer // 按钮序号 ): Boolean;
//设计 Zswang 2006-11-13 wjhu111#21cn.com 尊重作者,转贴请注明出处
var vRect: TRect;
vSmallPoint: TSmallPoint;
vProcessId: DWORD;
vProcess: THandle;
vPointer: Pointer;
vNumberOfBytesRead: Cardinal;
begin Result := False;
if mHandle <= 0 then Exit;
GetWindowThreadProcessId(mHandle, @vProcessId);
if vProcessId <= 0 then Exit;
vProcess := OpenProcess(PROCESS_VM_OPERATION or PROCESS_VM_READ or PROCESS_VM_WRITE, False, vProcessId);
vPointer := VirtualAllocEx(vProcess, nil, $1000, MEM_RESERVE or MEM_COMMIT, PAGE_READWRITE);
try SendMessage(mHandle, TB_GETITEMRECT, mIndex, Integer(vPointer)); ReadProcessMemory(vProcess, vPointer, @vRect, SizeOf(TRect), vNumberOfBytesRead); if vNumberOfBytesRead <= 0 then Exit;
finally VirtualFreeEx(vProcess, vPointer, 0, MEM_RELEASE); CloseHandle(vProcess); end;
vSmallPoint := PointToSmallPoint(CenterPoint(vRect));
SendMessage(mHandle, WM_LBUTTONDOWN, MK_LBUTTON, Longint(vSmallPoint));
SendMessage(mHandle, WM_LBUTTONUP, MK_LBUTTON, Longint(vSmallPoint));
Result := True;
end; { ToolbarButtonClick }
wcm
2009-08-07
打赏
举报
回复
有没有人帮助啊
wcm
2009-08-06
打赏
举报
回复
兄弟们啊,那我该如何做啊,请帮助我啊,一定帮助啊
SYSSZ
2009-08-06
打赏
举报
回复
用spy++查看一下,TOOLBAR的子窗口句柄为0,子窗口列表为空,因此,一般窗口操作不解决问题.
wcm
2009-08-06
打赏
举报
回复
请再帮助
wcm
2009-08-06
打赏
举报
回复
好像,无法得到lngControl ,调式后的值为0 请再帮助
junki
2009-08-06
打赏
举报
回复
Private Const WM_LBUTTONDOWN = &H201
lngControl = FindWindowEx(lngWindow, 0, "Button", "取消")
lngRet = SendMessage(lngControl, WM_LBUTTONDOWN, 0, 0&)
'lngWindow为TOOLbar的句柄
'lngControl为按钮句柄
wcm
2009-08-06
打赏
举报
回复
兄弟们 给点办法啊 :(
wcm
2009-08-06
打赏
举报
回复
如果没有按钮 那么如何给这个按钮发消息啊
wcm
2009-08-06
打赏
举报
回复
各位帮忙啊,不要沉没啊
倒大霉的上帝
2009-08-06
打赏
举报
回复
toolbar的按钮没有句柄
lxq19851204
2009-08-06
打赏
举报
回复
不懂,顶一下.
MFC案例:自制工具条(
Toolbar
)
按钮
的小程序
在基于对话框的MFC项目中,自制三个
Toolbar
按钮
(用颜色区分,分别为红、绿、蓝);程序运行时,单击红色
按钮
显示
一个
红色的填充椭圆;再单击绿色
按钮
则进行清屏;最后单击蓝色
按钮
退出程序。
MFC
Toolbar
工具栏
按钮
添加
消息
响应
工具栏
按钮
消息
响应需要的是对应
按钮
的命令ID。对于动态方式创建的工具栏,其
按钮
的命令ID在类向导ID列表中是找不到的,只能找到图标的ID。按下述步骤不能添加事件响应。(1)VS2010 打开类向导,选择“Message Maps”选项卡,在“Class name”列表框选择创建了工具栏的对话框类,在“Object Ids”列表中选择工具栏
按钮
ID,在“Messages”列表中选择“COMMAND”...
toolbar
的
按钮
还是灰色的
为什么我设置了
消息
响应函数,
toolbar
的
按钮
还是灰色的?楼主cmoth(容量够大)2003-04-04 11:49:36 在 VC/MFC / 界面 提问我再切分窗口的其中
一个
窗口A内创建
一个
工具条,当我点另
一个
窗口B让窗口A失去焦点时,窗口A内的工具条的
按钮
也变灰了,如果窗口A获得焦点,这个工具条也正常了。我怎么样才能让工具条始终处于使能状态?另外为什么我创建的工具条顶端总有一条分割
MFC工具栏
ToolBar
按钮
添加下拉菜单
MFC工具栏
ToolBar
按钮
添加下拉菜单 1.在MainFrm.cpp的int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)函数末尾添加如下代码: //为画图工具栏的
按钮
添加下拉菜单 m_wnd
ToolBar
.Get
ToolBar
Ctrl().SetExtendedStyle(TBSTYLE_EX_DRAWDDARROWS); //取值TBSTYLE_EX_DRAWDDARROWS,可以为某
一个
按钮
添加下拉
按钮
。 DWORD dwSty..
如何向其他程序中的
toolbar
中ToolButton
发
送
点击
按钮
???
如何向其他程序中的
toolbar
中ToolButton
发
送
点击
按钮
??? Delphi / Windows SDK/APIhttp://www.delphi2007.net/DelphiAPI/html/delphi_20061112160354251.html 可以找到
toolbar
的
句柄
, 在
Toolbar
中的按扭也没有
句柄
, ...
API
1,488
社区成员
23,270
社区内容
发帖
与我相关
我的任务
API
VB API
复制链接
扫一扫
分享
社区描述
VB API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章