在對話方塊非標題欄區域實現拖動

2021-10-05 15:14:59 字數 497 閱讀 2709

通常,滑鼠拖動對話方塊的區域是標題欄,本例中可以在對話方塊的任何區域進行拖動。

(1)新建乙個基於對話方塊的mfc應用程式dragtest,刪除對話方塊中原有控制項。

(2)開啟類cdragtestdlg的屬性檢視,切換到訊息頁,找到wm_nchittest訊息後新增訊息函式onnchittest,如圖所示:

(3)在onnchittest中,修改**如下:

lresult cdragtestdlg::

onnchittest

(cpoint point)

(4)儲存編譯執行,執行結果如圖:

在對話方塊非標題欄區域可以實現隨意拖動的效果。

無標題欄對話方塊的拖動

實際上,用滑鼠點住對話方塊背景進行拖動操作並不難,但是你必須了解在標題欄裡拖動視窗的原理。windows首先確定滑鼠點中了那個視窗,然後向那個視窗傳送乙個wm nchittest訊息找出此視窗的哪個 非客戶區 如邊界 最大化 最小化按鈕 選單 標題等等 擁有滑鼠游標。接著預設的視窗過程響應訊息並返回...

自繪對話方塊標題欄

本例中將涉及到對話方塊標題欄的自繪,雙緩衝點陣圖的顯示以及位圖按鈕類的使用。1.標題欄自繪 2.雙緩衝顯示位圖 雙緩衝顯示點陣圖的原理網上介紹的比較多,主要思路如下 本例中的ctestbitmapshowdlg主測試類中位圖的顯示,以及ccolortitledlg標題欄重繪類中標題欄的貼圖操作都是使...

WPF 標題欄 右鍵視窗標題新增關於對話方塊

原文 wpf 標題欄 右鍵視窗標題新增關於對話方塊 wpf標題欄 右鍵選單 中新增新項 public partial class mainwindow window region 給wpf標題欄的右鍵選單欄 新增 關於 選單項 private void mainwindow sourceinitia...