MoveWindow与SetWindowPos的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MoveWindow与SetWindowPos的区别相关的知识,希望对你有一定的参考价值。

移动对话框窗口时,我想把窗口移动到屏幕的左上角,MoveWindow的实现为:
CRect cl;
GetClientRect(&cl);
ClientToScreen(&cl);
MoveWindow(cl);
SetWindowPos的实现为:
CRect client;
GetClientRect(&client);
SetWindowPos(&wndTopMost,0,0,client.Width(),client.Height(),SWP_SHOWWINDOW);
但结果MoveWindow不能移动到准确位置,而SetWindowPos则可以,不知道为什么?

参考技术A SetWindowPos可以完成MoveWindow的功能,也能完成MoveWindow不能完成的功能
MoveWindow只是移动窗口的位置和大小

SetWindowPos还可以设置窗口的Z-ORDER、显示隐藏窗口等等

以上是关于MoveWindow与SetWindowPos的区别的主要内容,如果未能解决你的问题,请参考以下文章