写一个函数可以移动主窗口 写一个函数可以移动主窗口.类似按住CAPTION拖一样.不知如何实现.如某个判断成立,执行此函数,即可移动. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 BOOL MoveWindow( HWND hWnd, // handle to window int X, // horizontal position int Y, // vertical position int nWidth, // width int nHeight, // height BOOL bRepaint // repaint flag); if(判断成立) SendMessage(WM_NCLBUTTONDOWN, HTCAPTION, 0); else CDialog::OnLButtonDown(nFlags, point); 代码放在CYourDlg::OnLButtonDown(...)里 这个很简单,我刚写好一个.大体是在OnTimer里执行移动函数.可以这样.if(aa)//用来控制是否移动{CPoint point;GetCursorPos(&point);//得到当前鼠标位置;CRect rect;AfxGetMainWnd()->GetWindowPos(&rect);//得到当前主窗口位置;rect.right=rect.Width()+point.x;//注意顺序:先计算right和bottomrect.bottom=rect.Height()+point.y;rect.left=point.x;rect.top=point.y;AfxGetmainWnd()->MoveWindow(rect);}需要时将aa设为真就行了.但这样有一个问题,就是每次移动时窗口的左上角就会移动到鼠标的位置.所以你还要将未移动位置时鼠标与窗口的位置关系计算出来,这里就不多说了,如果你有需要我可以将我写的代码给你看看 对于bcpl(林平之) 的方法,我只在对话框中试过,主窗口没试过.不过可以肯定的是这只针对于单线程的操作,对于多线程是无能为力的. 如何取消HTCAPTION消息,回复正常? 这两个方法都是对的,我试了,我想林平之的方法如取消的话,可以再发个HTNOWHERE或者别的什么,至于多线程,我想可能还是有办法的,我研究一下,不错,各路大侠多谢了.我对MFC还不是太了解,不知大家是怎么学的.各位老兄不妨介绍点书来,我也多了解一下. mfc activex中的VARIANT的返回值如何在html中调用啊? 批量导入EXCEL文件,并转换成滴答模板,支持函数导入 如何清理IE COOKIE!!!!!!!!!!!! 如何判断一个端口正在通信! 困惑,报表方案的选择? ===有谁用dcomcnfg把本地组件配置成远程组件的,就进来看看吧!=== 如何给Button添加位图 请问在vc中如何调用vb的动态链接库 我的托盘程序弹出菜单为何不完整? 请问谁能告诉我成都有培训C++/VC++的地方吗,在哪里? 请教各位:生成dll或lib的问题? 如何是图片只显示想要的部分?
HWND hWnd, // handle to window
int X, // horizontal position
int Y, // vertical position
int nWidth, // width
int nHeight, // height
BOOL bRepaint // repaint flag
);
SendMessage(WM_NCLBUTTONDOWN, HTCAPTION, 0);
else
CDialog::OnLButtonDown(nFlags, point);
大体是在OnTimer里执行移动函数.
可以这样.
if(aa)//用来控制是否移动
{
CPoint point;
GetCursorPos(&point);//得到当前鼠标位置;
CRect rect;
AfxGetMainWnd()->GetWindowPos(&rect);//得到当前主窗口位置;
rect.right=rect.Width()+point.x;//注意顺序:先计算right和bottom
rect.bottom=rect.Height()+point.y;
rect.left=point.x;
rect.top=point.y;
AfxGetmainWnd()->MoveWindow(rect);
}
需要时将aa设为真就行了.
但这样有一个问题,就是每次移动时窗口的左上角就会移动到鼠标的位置.
所以你还要将未移动位置时鼠标与窗口的位置关系计算出来,
这里就不多说了,
如果你有需要我可以将我写的代码给你看看
我只在对话框中试过,
主窗口没试过.
不过可以肯定的是这只针对于单线程的操作,
对于多线程是无能为力的.