2012-10-12 39 views
0

我正在開發一個簡單的應用程序。複選框高度coudn't使用MoveWindow更改

我創建了一個複選框,並使用MoveWindow設置它的尺寸。 頂部,右側,左側位置工作正常,但問題是,它不是 響應正確的底部值。換句話說,我無法調整它的高度。

static void SetCheckboxSinhalaDimensions(HWND hwndCheckboxSinhala) 
{ 
    double right = 0; 
    double left = TEXT_BOX_RIGHT_MARGIN * main_window_width ; 
    double top = TEXT_BOX_TOP_MARGIN * main_window_height ; 

    int cychar = HIWORD (GetDialogBaseUnits()) ; 
    double bottom = top+ 2*cychar; // I've used 1.5 , 1 , 0.5 and even 0.2 here 
          // but it never changed. 
    MoveWindow (hwndCheckboxSinhala, right,top, left,bottom,TRUE); 
} 

這是它在主窗口上的樣子。 enter image description here

有關此問題的任何解決方法? 或者我錯過了什麼?

+0

當你指定一個確切的像素值會發生什麼? – Deanna

+0

使用諸如20 + TOP? ,我試過了。它沒有奏效。 –

回答

1

你有參數MoveWindow錯誤。它需要左,上,寬和高;不正確,頂部,左側和底部。

BOOL WINAPI MoveWindow(
    _In_ HWND hWnd, 
    _In_ int X, 
    _In_ int Y, 
    _In_ int nWidth, 
    _In_ int nHeight, 
    _In_ BOOL bRepaint 
); 
+0

是的,先生,你絕對正確!我不知道爲什麼我錯過了。可能這就是爲什麼我需要同行評審的人。 –