首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

PostMessage有时可以有时点不上,该怎么解决

2012-06-01 
PostMessage有时可以有时点不上1.PostMessage有时可以有时点不上,句柄hChild可以获取到,就是有时看起来好

PostMessage有时可以有时点不上
1.PostMessage有时可以有时点不上,句柄hChild可以获取到,就是有时看起来好像类似TAB键选到了,但是没点下去的样子?
Sleep(2000);
::PostMessage(hChild,WM_LBUTTONDOWN,0,0x00060005);
Sleep(300);
::PostMessage(hChild,WM_LBUTTONUP,0,0x00060005);


2. IDC_COMBO控件用OnSelchange消息的时候
void CMy1Dlg::OnSelchangeComboJiaoben() 
{
// TODO: Add your control notification handler code here
GetDlgItemText(IDC_COMBO_JIAOBEN,strJB);
dflag = false;
sitel = 0;
m_listctrl.DeleteAllItems();
//AfxMessageBox(strJB);
  while(dflag != true)
{
ReadData();  
//处理你要插入的数据,把数据插入到ListCtrl的最后一行
int nCount = m_listctrl.GetItemCount();
m_listctrl.InsertItem(nCount,Tmp4);
m_listctrl.SetItemText(nCount,1,Tmp1);
m_listctrl.SetItemText(nCount,2,Tmp2);
}
UpdateData(true);
}
要组合框中要选第二次的时候,第一次的选择才会在IDC_LIST里显示!

[解决办法]
2、有没有调用设置选择了哪一行?
[解决办法]
不是选不上,可能中间出错误了
[解决办法]
PostMessage系统把消息扔到关联此实例句柄的线程消息队列,然后即刻返回,相当于一种异步操作。
正常情况下所以消息都会一一被消息处理函数接收并处理,但也有例外,比如在线程繁忙或者出现异常,某些消息是没有放进消息队列(没有例子考证,根据经验而谈),相当于被丢掉。但这种情况较少,视每个人的代码差异而别。
[解决办法]
代码差异主要是说个人的代码需求不同,比如我有时候需要频繁地PostMessage
有时候会让我在调试时不知道为什么PostMessage没有处理原本想要的消息,个人暂时归类为线程繁忙或者出现某种异常,我也说了,无从考证。
你的情况应该不属于我说的范畴之内。其实你发送按下消息就好吧。

热点排行