2005-11-05

[界面] 取得系統各種單位像素大小

取得系統單位,以利程式設計者方便計算長寬,與調整各個元件之維度

單位大小: Pixel (像素)

以下取用我的程式中,有的部份當範例

// 取得系統字體單位大小
int cxChar = LOWORD (GetDialogBaseUnits ()) ;
int cyChar = HIWORD (GetDialogBaseUnits ()) ;

// 取得系統框邊單位大小
int cxBorder = GetSystemMetrics(SM_CXBORDER) ;
int cyBorder = GetSystemMetrics(SM_CYBORDER) ;

// 取得系統標題單位高度
int cyCaption = GetSystemMetrics(SM_CYCAPTION) ;

// 取得系統單行選單列之單位高度
int cyMenu = GetSystemMetrics(SM_CYMENU) ;


之後,可以再利用 MoveWindow(handle, x, y, w, h, true) 函式,
在各元件的 OnResize 事件
(Event) 中去自動執行調整大小,
則可達到視窗縮放時,保持著各元件之比例

本程式範例圖:

原始大小


視窗拉大


沒有留言:

張貼留言