VC中如何獲得對話框中各個模塊的系統默認提供的區域大小

具有下面區域的對話框都要有WS_BORDER屬性,即不能將對話框WS_BORDER設置爲NONE

 

獲得對話框標題欄的大小:WS_CAPTION屬性,此時可以響應hittest消息,即拖動非客戶區標題欄鼠標有效,否則是無效的。但如果沒有WS_SYSMENU系統菜單屬性,則無法響應鼠標右鍵消息,且沒有關閉按鍵及圖標顯示...

隱藏標題欄 ModifyStyle(WS_CAPTION,0)

高度:=GetSystemMetrics(SM_CYCAPTION);
寬度:CRect   rect; 
      GetWindowRect(rect); 
      rect.Width();  

原點爲0;

 

獲得對話框標題欄中的圖標的大小:ICON

GetSystemMetrics(SM_CXSMICON);  //寬度 
int   cyIcon =GetSystemMetrics(SM_CYSMICON)//高度

 

獲得對話框標題欄中的按鍵的大小:button

GetSystemMetrics(SM_CXSIZE)

GetSystemMetrics(SM_CYSIZE)

 

獲得對話框中的邊框的大小:WS_BORDER屬性,即對話框四周的小條邊框,且對話框上端留有比其它三邊較大的空間,加上WS_CAPTION後則更大,只是如果沒有WS_CAPTION屬性無法響應鼠標消息...
GetSystemMetrics(SM_CXSIZEFRAME)//Border屬性具有sizing,
此屬性表明窗口可拉伸,此值取得爲4

GetSystemMetrics(SM_CYSIZEFRAME)

 GetSystemMetrics(SM_CXDLGFRAME);//Border屬性具有thin或者dialog frame,此值取得爲3

GetSystemMetrics(SM_CYDLGFRAME);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章