一个在基于对话框的应用程序中发送消息的问题. PostMessage(WM_COMMAND,IDOK,0x0C88);0x0c88是我用spy看出来的,没用过. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 PostMessage(UINT message, WPARAM wParam = 0, LPARAM lParam = 0 )第一个参数是消息种类,后两个是消息参数。一般后两个可缺省,除非你想传递消息参数。比方关闭对话框m_pDlg->PostMessae(WM_CLOSE);又:#define WM_MYMESSAGE (WM_USER+1).....在消息映射中ON_MESSAGE(WM_MYMESSAGE,OnMyMessage)定义消息处理函数afs_msg LONG OnMyMessage(UINT wParam,LONG lParam)你可以PostMessage(WM_MYMESSAGE,100,100)将参数传给OnMyMessage GetDlgItem(IDOK)->PostMessage(BM_CLICK,0,0); 对于rovoboy(烟花满地),你的参数第二,三个可能都不太对.黑骑士兄台的方法可能不错,可以退出对话框,但和我的问题有点出入(也许我的理解有问题).很感谢emmai,你的这个答案基本上可以解决我的问题,但是为什么我的程序达不到预期的效果?程序是这样的:void CMyDlgDlg::OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized) { CDialog::OnActivate(nState, pWndOther, bMinimized); // TODO: Add your message handler code here if(WA_INACTIVE == nState) //被切换 { GetDlgItem(IDOK)->PostMessage(BM_CLICK,0,0); // AfxMessageBox("in active");//加上这句话会出错. }}我是想如果界面被切换就发送模仿一个控件发送一个消息,可是好像不行,相应的消息处理函数没有被调用!(这个程序在切换的时候,最终没有退出).不知道是为什么!(下次给分) 回答过N次的问题:::PostMessage(hWnd, WM_COMMAND, IDOK, BN_CLICKED);hWnd是包含OK按钮的对话框的句柄。快给分! PostMessage(WM_COMMAND,MAKE_WPARAM(BN_CLICKED,nButtonID),0) 为什么GetDC()会保存afxmessage界面? 关于求法向量的问题(急) 向用VC写一个程序:能把几个指定的网站更新内容显示出来。 原理是什么? 关于程序出错 请问如何修改windows的计算机名称和工作组? 请教:在VC中如何用ADO来动态获得数据库中的所有表名? 运行服务器程序,无法绑定,问题在那?请各位指教!! 谁能给我一段ISAPI中实现查询数据分页的源代码!!!高分80!! MATLAB转vc 我想实现汉字输入,简体的现在已经实现,但是繁体汉字我却不知如何实现,请指教!! CEdit如何再Enter按键时发生响应? 那位大哥知道函数钩子的资料,我的编译不过去
m_pDlg->PostMessae(WM_CLOSE);
又:
#define WM_MYMESSAGE (WM_USER+1)
.....
在消息映射中
ON_MESSAGE(WM_MYMESSAGE,OnMyMessage)
定义消息处理函数
afs_msg LONG OnMyMessage(UINT wParam,LONG lParam)
你可以PostMessage(WM_MYMESSAGE,100,100)将参数传给OnMyMessage
很感谢emmai,你的这个答案基本上可以解决我的问题,但是为什么我的程序达不到预期的效果?程序是这样的:
void CMyDlgDlg::OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized)
{
CDialog::OnActivate(nState, pWndOther, bMinimized);
// TODO: Add your message handler code here
if(WA_INACTIVE == nState) //被切换
{
GetDlgItem(IDOK)->PostMessage(BM_CLICK,0,0);
// AfxMessageBox("in active");//加上这句话会出错.
}
}
我是想如果界面被切换就发送模仿一个控件发送一个消息,可是好像不行,相应的消息处理函数没有被调用!(这个程序在切换的时候,最终没有退出).不知道是为什么!(下次给分)
::PostMessage(hWnd, WM_COMMAND, IDOK, BN_CLICKED);
hWnd是包含OK按钮的对话框的句柄。
快给分!