首先在我们需要开启捕获的事件中加入鼠标捕获
SetCapture()
然后在WindowProc中加入如下代码:
LRESULT CMyxgsdlgmainbg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
// TODO: 在此添加专用代码和/或调用基类
POINT point
CRect rect
switch (message)
{
case WM_LBUTTONDOWN:
case WM_LBUTTONDBLCLK:
case WM_RBUTTONDOWN:
case WM_RBUTTONDBLCLK:
case WM_MBUTTONDOWN:
case WM_MBUTTONDBLCLK:
GetCursorPos(&point)
ScreenToClient(&point)
CRect rect
AfxGetMainWnd()->GetWindowRect(&rect)
ScreenToClient(&rect)
if(!rect.PtInRect(point)) //判断是否在本应用程序窗口内
{
isshowmain=false
}
KillTimer(8)
issettimer8=false
ReleaseCapture()
break
}
return CDialog::WindowProc(message, wParam, lParam)
}
ReleaseCapture()//该函数从当前线程中的窗口释放鼠标捕获,并恢复通常的鼠标输入处和册理。捕获鼠标的窗口接收所有的鼠标输入(无论光标的位置在哪里),除非点击鼠标键时,光标热点在另一个线程的窗口中
楼主说的调用外部程序,指的是引用外部控件吗。 如果镇戚这样的话。先添加皮旅冲引用外部控件,在可视化界面燃歼中选中控件,右键属性。右侧窗口有属性栏选择闪电图标,在找到onclick 单击事件双击写入代码即可。 希望对楼主有用!欢迎分享,转载请注明来源:内存溢出
评论列表(0条)