社区
界面
帖子详情
如何将窗口移动限定在一个范围内?
yecheng_110
2007-05-18 03:21:55
如何将窗口限定在一个范围内?
用的是WTL编程,我现在处理的是WM_MOVE或WM_MOVING,能够限定窗口在一个范围中移动,但是在处理超出范围的时候,窗口抖动厉害。
有没有成熟的做法?
...全文
194
7
打赏
收藏
如何将窗口移动限定在一个范围内?
如何将窗口限定在一个范围内? 用的是WTL编程,我现在处理的是WM_MOVE或WM_MOVING,能够限定窗口在一个范围中移动,但是在处理超出范围的时候,窗口抖动厉害。 有没有成熟的做法?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
swift19221
2010-08-19
打赏
举报
回复
说的什么,不明白。。。
dayong576
2007-05-18
打赏
举报
回复
前面可以加上你的CDlg &dlg;
dlg.SetWindowPos(&wndTopMost, xPos, yPos, m_Width, m_Hight, SWP_NOSIZE );
dayong576
2007-05-18
打赏
举报
回复
不太明白了
你用SetWindowPos(&wndTopMost, xPos, yPos, m_Width, m_Hight, SWP_NOSIZE );
试试
yecheng_110
2007-05-18
打赏
举报
回复
MESSAGE_HANDLER(WM_MOVE,OnMove)
LRESULT CDockWindow::OnMove(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& bHandled)
{
int xPos;
int yPos;
xPos = (int)(short) LOWORD(lParam); // horizontal position
yPos = (int)(short) HIWORD(lParam); // vertical position
BOOL bRemove = FALSE;
if(xPos < 0)
{
bRemove = TRUE;
xPos = 0;
}
if(yPos < 0)
{
bRemove = TRUE;
yPos = 0;
}
if(xPos + m_Width > m_ScreenWidth)
{
bRemove = TRUE;
xPos = m_ScreenWidth - m_Width;
}
if(yPos + m_Hight > m_ScreenHight)
{
bRemove = TRUE;
yPos = m_ScreenHight - m_Hight;
}
if(bRemove)
::SetWindowPos(m_hWnd, HWND_TOPMOST,xPos,yPos,m_Width,m_Hight,SWP_NOSIZE);
//这个也会抖动
//MoveWindow(xPos,yPos,m_Width,m_Hight);
else
bHandled = FALSE;
return 0;
}
dayong576
2007-05-18
打赏
举报
回复
俩个对比一下看看有什么不同
dayong576
2007-05-18
打赏
举报
回复
SetWindowPos(&wndTop, 18, 20, 0, 0, SWP_NOSIZE | SWP_SHOWWINDOW);
dayong576
2007-05-18
打赏
举报
回复
SetWindowPos(&wndTop, 0, 0, 0, 0, SWP_NOSIZE | SWP_SHOWWINDOW);
看看对你有帮助么?
应用Bluemix实现商业价值
IBM CDL举办过一期内部的Hackathon,为期三天的命题比赛,我带领另外两名开发者在
限定
时间内用BlueMix平台开发了一款“汽车事故现场报险和理赔状态追踪
移动
应用”,在大赛中获得了总冠军。本次在线培训内容主要以...
设定鼠标
限定
在
窗口
内部
由于设定鼠标
移动
区域的函数需要屏幕坐标,因此我们先取得
窗口
坐标,然后将
窗口
坐标转化为屏幕坐标,最后设定
范围
即可。 设定鼠标光标限制在
窗口
内容区域的基本代码为: RECT rect; POINT lt, rb; GetClientRect...
Qt将鼠标
移动
范围
限定
在某个区域内
然后在mouseMoveEvent中做处理。QCursor::setPos(mapToGlobal(point)); 后面发现鼠标
移动
到边缘会有抖动的情况。 后面换了一种思路 ,直接用的win api 了。但不好之处就是不能跨平台。这么常用的功能Qt肯定有...
MFC限制子
窗口
只在父
窗口
内
移动
取得父
窗口
的顶点和右下角坐标,利用子
窗口
的顶点坐标和右下角坐标进行
范围
的判断即可 例如父
窗口
A(50.50)(100.100)子
窗口
的顶点坐标应该大于等于X1>=50&&Y1>=50 右下角坐标X2 2,应该是WM_MOVING消息
Qt在指定区域内拖动
窗口
将
窗口
中的小
窗口
按住拖动,使其在该
窗口
中
移动
。 效果图如下: 鼠标左键按住上图中的彩色
窗口
,就可以在
窗口
的客户区中来回拖动
窗口
。 项目的文件结构如下: 创建基于QWidget的应用程序,main.cpp的程序没有做...
界面
15,979
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章