VC 無標題視窗以及控制項拖動的方法 修正

2021-06-21 13:17:04 字數 1144 閱讀 7908



無標題視窗拖動:

方法一:直接在onnchittest中虛擬傳送htcaption訊息

[cpp]view plain

copy

print?

uint cmainframe::onnchittest(cpoint point)   

else

}   

uint cmainframe::onnchittest(cpoint point) 

else

}

方法二:直接在onlbuttondown中虛擬傳送wm_nclbuttondown,htcaption訊息

[cpp]view plain

copy

print?

void cmydlg::onlbuttondown(uint nflags, cpoint point)   

void cmydlg::onlbuttondown(uint nflags, cpoint point) 

方法三:通過在onmousemove中手動進行處理

[cpp]view plain

copy

print?

void cmydlg::onmousemove(uint nflags, cpoint point)  

}  prepoint = point;  

cdialog::onmousemove(nflags, point);  

}  

void cmydlg::onmousemove(uint nflags, cpoint point)

}prepoint = point;

cdialog::onmousemove(nflags, point);

}

控制項拖動:

控制項拖動只能採用上述的第三種方法

VC 無標題視窗以及控制項拖動的方法

方法一 直接在onnchittest中虛擬傳送htcaption訊息lresult caaadlg onnchittest cpoint point 方法二 直接在onlbuttondown中虛擬傳送wm nclbuttondown,htcaption訊息 void caaadlg onlbutto...

c 呼叫API函式拖動無標題視窗及控制項

在windows程式設計中,為了介面的美觀,相信很多朋友都有過把windows的form的標題欄隱藏掉,然後自己做乙個標題欄的經驗。但是,隱藏掉標題欄後的form怎麼拖動呢?大部份人的做法都是在mousedown,mousemove等事件中自己寫 進行處理,用 隨著滑鼠的移動,一點點的移動視窗。其實...

無標題欄對話方塊的拖動

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