复选框高度不会使用MoveWindow更改

时间:2012-10-12 06:46:13

标签: winapi

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

我创建了一个复选框,并使用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

有关此问题的任何解决方法吗? 或者我缺少的东西?

1 个答案:

答案 0 :(得分:1)

你有MoveWindow错误的参数。它需要左,顶部,宽度和高度;不对,顶部,左边和底部。

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