Winapi 复选框高度coudn';不要使用移动窗口进行更改
我正在开发一个简单的应用程序 我创建了一个复选框,并使用MoveWindow设置其尺寸。 上、右、左的位置都很好,但问题是,它不是 响应正确的底部值。换句话说,我无法调整它的高度Winapi 复选框高度coudn';不要使用移动窗口进行更改,winapi,Winapi,我正在开发一个简单的应用程序 我创建了一个复选框,并使用MoveWindow设置其尺寸。 上、右、左的位置都很好,但问题是,它不是 响应正确的底部值。换句话说,我无法调整它的高度 static void SetCheckboxSinhalaDimensions(HWND hwndCheckboxSinhala) { double right = 0; double left = TEXT_BOX_RIGHT_MARGIN * main_window_width ; double t
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);
}
这是它在主窗口上的外观。
在这个问题上有什么解决办法吗?
或者我遗漏了什么?您将参数设置为
MoveWindow
错误。它需要左、上、宽和高;不是右、上、左和下
BOOL WINAPI MoveWindow(
_In_ HWND hWnd,
_In_ int X,
_In_ int Y,
_In_ int nWidth,
_In_ int nHeight,
_In_ BOOL bRepaint
);
当您指定精确的像素值时会发生什么情况?使用例如20+TOP,我试过了。没用。是的,先生,你完全正确!我不知道为什么我错过了。也许这就是我需要同行评议的原因。