Winapi 复选框高度coudn';不要使用移动窗口进行更改

Winapi 复选框高度coudn';不要使用移动窗口进行更改,winapi,Winapi,我正在开发一个简单的应用程序 我创建了一个复选框,并使用MoveWindow设置其尺寸。 上、右、左的位置都很好,但问题是,它不是 响应正确的底部值。换句话说,我无法调整它的高度 static void SetCheckboxSinhalaDimensions(HWND hwndCheckboxSinhala) { double right = 0; double left = TEXT_BOX_RIGHT_MARGIN * main_window_width ; double t

我正在开发一个简单的应用程序

我创建了一个复选框,并使用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);
}
这是它在主窗口上的外观。

在这个问题上有什么解决办法吗?
或者我遗漏了什么?

您将参数设置为
MoveWindow
错误。它需要左、上、宽和高;不是右、上、左和下

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

当您指定精确的像素值时会发生什么情况?使用例如20+TOP,我试过了。没用。是的,先生,你完全正确!我不知道为什么我错过了。也许这就是我需要同行评议的原因。