Windows Mobile单击变双击问题 我开发了一个用于windows mobile手机上的界面,界面是用vc对话框做的,我做了两个对话框,点击第一个对话框的按钮,调用第二个对话框,这时不知为什么只有双击,界面才会有反应。我跟踪调试了,发现单击时也运行了相应的程序,可是在界面上就是体现不出变化,只有双击才会有变化。但是如果只有一个对话框的话,单击完全可以响应界面的变化,请教各位高人,谁知道哪出问题了? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我用的不是按钮,是判断是否点击的相应区域。我在新建的一个工程的对话框试过,单击有效。但是加到另一个已有一个对话框的工程中,并通过这个已有对话框来调用新加的对话框,就是双击才会引起界面的变化。但事实我也跟踪了,单击是可以进入相应的程序运行的,就是界面没有变化。我也用了InvalidateRect函数和updateWindow对界面刷新了,但是还是需要双击后界面才会有改变。部分代码如下:void PlayerUIDlg::OnLButtonDown(UINT nFlags, CPoint point){ // TODO: 在此添加消息处理程序代码和/或调用默认值 CPaintDC dc(this); // device context for painting //Retrun if ((point.x>=214 && point.x<=214+25) && (point.y>=2 && point.y<=2+24)) { m_cdcButtonReturn.DeleteDC(); m_cdcTmp.DeleteDC(); m_BitmapBack.DeleteObject(); BitmapTmp.DeleteObject(); m_cdcButtonReturn.CreateCompatibleDC(&dc); m_cdcTmp.CreateCompatibleDC(&dc); BitmapTmp.CreateCompatibleBitmap(&dc, 25, 24); /////创建内存区域 m_cdcButtonReturn.SelectObject(BitmapTmp); ////创建足够内存区域 //加载按下return图片 m_BitmapBack.LoadBitmap(IDB_RETURN2); /////加载背景位图 m_cdcTmp.SelectObject(m_BitmapBack); m_cdcButtonReturn.BitBlt(0,0,25,24,&m_cdcTmp,0,0,SRCCOPY); InvalidateRect(CRect(214,2,214+25,2+24),TRUE); //更新窗口--必须的,否则不会显示新图片 UpdateWindow(); //退出程序操作 。。 m_cdcButtonReturn.DeleteDC(); m_cdcTmp.DeleteDC(); m_BitmapBack.DeleteObject(); BitmapTmp.DeleteObject(); m_cdcButtonReturn.CreateCompatibleDC(&dc); m_cdcTmp.CreateCompatibleDC(&dc); BitmapTmp.CreateCompatibleBitmap(&dc, 25, 24); /////创建内存区域 m_cdcButtonReturn.SelectObject(BitmapTmp); ////创建足够内存区域 //还原图片 m_BitmapBack.LoadBitmap(IDB_RETURN); /////加载背景位图 m_cdcTmp.SelectObject(m_BitmapBack); m_cdcButtonReturn.BitBlt(0,0,25,24,&m_cdcTmp,0,0,SRCCOPY); InvalidateRect(CRect(214,2,214+25,2+24),TRUE); } CDialog::OnLButtonDown(nFlags, point);} 如何读取数据到IDirectSoundBuffer MFC SDI程序, 左侧为可拉伸树型控件, 右为可拉伸列表框, 下为可浮动信息输出框, 不知该怎样实现? 求救!调用存储过程时decimal的精度问题 关于C/S模式数据库访问设计方法,求救 求inside ole2 电子书!! 在dll中能否导出线程函数, 主机字节和网络字节的格式 VC6.0中怎样用特定的用户打开别的程序,跪求指导! 怎样用cmd.exe将参数传递给mfc的对话框 RasSetEntryProperties 调用出错,求帮助 请问一个标识符的意思 CWinApp::Run()消息机制解释?directinput
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CPaintDC dc(this); // device context for painting
//Retrun
if ((point.x>=214 && point.x<=214+25) && (point.y>=2 && point.y<=2+24))
{
m_cdcButtonReturn.DeleteDC();
m_cdcTmp.DeleteDC();
m_BitmapBack.DeleteObject();
BitmapTmp.DeleteObject(); m_cdcButtonReturn.CreateCompatibleDC(&dc);
m_cdcTmp.CreateCompatibleDC(&dc);
BitmapTmp.CreateCompatibleBitmap(&dc, 25, 24); /////创建内存区域
m_cdcButtonReturn.SelectObject(BitmapTmp);
////创建足够内存区域
//加载按下return图片
m_BitmapBack.LoadBitmap(IDB_RETURN2); /////加载背景位图
m_cdcTmp.SelectObject(m_BitmapBack);
m_cdcButtonReturn.BitBlt(0,0,25,24,&m_cdcTmp,0,0,SRCCOPY);
InvalidateRect(CRect(214,2,214+25,2+24),TRUE);
//更新窗口--必须的,否则不会显示新图片
UpdateWindow();
//退出程序操作
。。
m_cdcButtonReturn.DeleteDC();
m_cdcTmp.DeleteDC();
m_BitmapBack.DeleteObject();
BitmapTmp.DeleteObject(); m_cdcButtonReturn.CreateCompatibleDC(&dc);
m_cdcTmp.CreateCompatibleDC(&dc);
BitmapTmp.CreateCompatibleBitmap(&dc, 25, 24); /////创建内存区域
m_cdcButtonReturn.SelectObject(BitmapTmp);
////创建足够内存区域
//还原图片
m_BitmapBack.LoadBitmap(IDB_RETURN); /////加载背景位图
m_cdcTmp.SelectObject(m_BitmapBack);
m_cdcButtonReturn.BitBlt(0,0,25,24,&m_cdcTmp,0,0,SRCCOPY);
InvalidateRect(CRect(214,2,214+25,2+24),TRUE); }
CDialog::OnLButtonDown(nFlags, point);
}