鼠标按住窗口的标题栏,程序暂停的问题

yanjing_mail 2012-03-07 04:05:00
当窗口在窗口模式(非最大化或最小化)时 ,用鼠标指向标题栏,按住鼠标的左键不放,这时程序就会暂停。

后来我加了多线程处理,鼠标在标题栏上按住时程序不会暂停,但是当鼠标在最小化、关闭按钮上面按住时程序还是会暂停,请问改如何处理呢?

下面是主要代码

CreateThread(NULL, 0, ChanageTitle, LPVOID(NULL), 0, NULL);

// 进入主消息循环
while( TRUE )
{
if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
if (msg.message == WM_QUIT)
{
break; // 退出循环, 结束游戏
}
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}


DWORD WINAPI ChanageTitle(LPVOID lpParamter)
{
int i=0;
while (i>-1)
{
CString str;
str.Format("%d",i++);
SetWindowText(g_hWnd, str);
Sleep(100);
}
return 0;
}
...全文
257 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ystemni 2012-03-08
  • 打赏
  • 举报
回复
我觉得你可以屏蔽掉标题栏的单双击事件试试
向立天 2012-03-08
  • 打赏
  • 举报
回复
如果你在做动画窗口
那干脆什么东西都自己画吧
yanjing_mail 2012-03-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 healer_kx 的回复:]

什么是程序暂停?
[/Quote]
我的ChanageTitle线程改变窗口标题,点住标题栏拖动时标题是可以变化的,但是点住关闭按钮或最大化、最小化按钮不松开标题栏就不变化了。
yanjing_mail 2012-03-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 mayadong7349 的回复:]

帮顶
自己写过的显示动态画面的程序
如果使用定时器来控制帧率, 那么鼠标点在标题栏上, 画面仍会动
如果不使用定时器而是通常的方法控制帧率 鼠标点在标题栏上 画面就不动了】
和这个有点像
[/Quote]

我现在可以实现点在标题栏上画面还动,但是鼠标点在标题栏关闭按钮或最大化、最小化按钮上面不松手时,画面就停住了。
大道曙光 2012-03-07
  • 打赏
  • 举报
回复
帮顶
自己写过的显示动态画面的程序
如果使用定时器来控制帧率, 那么鼠标点在标题栏上, 画面仍会动
如果不使用定时器而是通常的方法控制帧率 鼠标点在标题栏上 画面就不动了】
和这个有点像
shn521 2012-03-07
  • 打赏
  • 举报
回复
OnNcLButtonDown(UINT nHitTest, CPoint point)
重载这个消息试试?
wocow3 2012-03-07
  • 打赏
  • 举报
回复
这是窗口的特性,在标题栏按住鼠标左键的开始一段时间不会有WM_PAINT
healer_kx 2012-03-07
  • 打赏
  • 举报
回复
什么是程序暂停?

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧