日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MFC无标题栏对话框移动的处理方法

發布時間:2025/3/17 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MFC无标题栏对话框移动的处理方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? 很多時候,為了界面的美觀,我們會隱藏標題欄,而在客戶區通過自繪模擬標題欄。但是這樣處理,會導致窗體無法移動。下面提供幾種移動方法:

? ? 1、采用欺騙的方式。即當鼠標點擊客戶區的時候,我們欺騙windows,讓windows認為我們點擊在了標題欄,這樣,拖動過程就通過windows進行處理了。因此可以大大減少我們的代碼量。具體方法如下:

響應鼠標左鍵按下消息WM_LBUTTONDOWN,相應函數中,直接發送欺騙消息:

PostMessage(WM_NCLBUTTONDOWN,?HTCAPTION,?MAKELPARAM(point.x,?point.y));

? ? WM_NCLBUTTONDOWN即左鍵在非客戶區按下,HTCAPTION即標題欄,所以采用這種方式,就可以實現無標題欄對話框的移動問題了。

? ? 那么問題來了。。。

? ? 采用這種操作后,會導致我們的對話框無法響應WM_LBUTTONUP消息,同時在我編寫程序過程中發現WM_NCLBUTTONUP也一般不能響應。當然,可以通過注冊WM_MOUSEHOVER以及WM_MOUSELEAVE消息,響應這兩個消息去處理相應的代碼,或者采用下鉤子的方法,在鉤子中正確發送消息,不過不推薦這種方法,實現也比較麻煩。

? ? 所以下面提供第二種方法。

? ? 2、在WM_MOUSEMOVE消息中,自己處理窗口移動。具體就是先判斷鼠標左鍵是否處于按下,如果是的話,就獲取鼠標移動到的位置,然后將窗口進行移動就可以了。具體實現如下:

void?CMyDlg::OnMouseMove(UINT?nFlags,?CPoint?point)?? {??static?CPoint?PrePoint?=?CPoint(0,?0);??if(MK_LBUTTON?==?nFlags)??{??if(point?!=?PrePoint)??{??CPoint?ptTemp?=?point?-?PrePoint;??CRect?rcWindow;??GetWindowRect(&rcWindow);??rcWindow.OffsetRect(ptTemp.x,?ptTemp.y);??MoveWindow(&rcWindow);??return?;??}??}??PrePoint?=?point;??CDialog::OnMouseMove(nFlags,?point);? }

? ? 通過上面的消息,就能夠進行窗口移動了。然而,如果僅僅響應上面的消息發現兩個問題:第一,當鼠標按住左鍵快速移動的時候,鼠標會移出窗口,窗口不動了,拖動效果不好;第二,左鍵釋放消息在上面這種情況下沒有響應。解決方法如下:

? ? 首先左鍵按下消息中設置鼠標捕獲

SetCapture();

? ? 在左鍵釋放消息中釋放鼠標捕獲

RealeseCapture();

? ? 通過上面的處理,就可以完美拖動,同時,左鍵抬起的消息也不會受影響。


? ? 因此,第一種方法較為簡潔,適合不需要響應鼠標其它消息的情況;第二種方法相對麻煩一些,不過實現效果也很好,并且不影響其他消息。

轉載于:https://blog.51cto.com/jincheng/1618302

總結

以上是生活随笔為你收集整理的MFC无标题栏对话框移动的处理方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲精品乱码久久久久久蜜桃麻豆 | 波多野结衣办公室33分钟 | 国产又粗又长又硬免费视频 | 人人妻人人澡人人爽人人精品 | 欧美一级性片 | 一级人爱视频 | 中文字幕日韩无 | 四虎视频在线观看 | 一本色道久久综合亚洲精品 | 国产在线不卡视频 | 国产精选久久 | 黑人玩弄人妻一区二 | 99久久久无码国产精品免费 | 精品人妻在线视频 | 91福利在线观看 | 久久久国产成人一区二区三区 | 美女色综合 | 香蕉视频在线免费播放 | www.国产免费 | 婷综合 | 欧美体内谢she精2性欧美 | 91直接看 | 精品黑人一区二区三区观看时间 | 少妇网站在线观看 | 免费的一级黄色片 | 韩国三级hd中文字幕叫床浴室 | 毛片久久久久久久 | 91成人精品国产刺激国语对白 | 欧美乱妇15p | 久久综合第一页 | 国产精品成人免费精品自在线观看 | 午夜欧美精品久久久久久久 | av日韩精品 | 夜夜爽网站| 黄色一级播放 | 豆花在线视频 | 有码中文字幕 | 蜜桃麻豆视频 | 青青草成人免费在线视频 | 影音先锋男人资源网站 | 在线观看精品一区 | av一二三 | 樱桃香蕉视频 | 91日批| 中文字幕av高清 | 人与拘一级a毛片 | 中文字幕69 | 少妇又紧又深又湿又爽视频 | 国产农村妇女精品一二区 | 日韩精品在线观看一区 | 国产精品嫩草影院桃色 | 久久久精品人妻无码专区 | 青青草国产精品视频 | 欧美视频三区 | 碧蓝之海动漫在线观看免费高清 | 欧美成人r级一区二区三区 中文无码一区二区三区在线观看 | 色www亚洲国产张柏芝 | 久久久久在线视频 | 免费观看的毛片 | 老妇裸体性激交老太视频 | 双性娇喘浑圆奶水h男男漫画 | 福利片一区二区 | 牛牛免费视频 | 国产精品久久91 | 91黄色免费看 | 特级黄色大片 | 中文字幕 欧美 日韩 | 综合色av | 婷婷日 | 亚洲另类自拍 | 河北彩花中文字幕 | 久久午夜夜伦鲁鲁一区二区 | 日韩字幕在线观看 | 国产在线一区二区三区 | 亚洲精品视频免费看 | 福利网站在线观看 | 黄色片一区二区三区 | 黑人番号 | 人妻巨大乳hd免费看 | 亚洲精品一区二 | 欧美1级片 | 亚洲第一视频在线观看 | 91精品黄色 | 亚洲综合激情另类小说区 | 中文字幕在线2018 | 男女操操 | 阿娇全套94张未删图久久 | 免费古装一级淫片潘金莲 | 91精品视频在线 | 91碰在线视频 | 少妇高潮一区二区三区99刮毛 | 免费激情视频网站 | 国产一区,二区 | 被两个男人吃奶三p爽文 | 久久精品在线视频 | 美女丝袜av| 国产免费91 | 麻豆蜜桃视频 | 97在线精品 |