跨区域开展流动人口:修改属性页大小

来源:百度文库 编辑:中财网 时间:2024/05/06 06:27:02

修改属性页大小
 
 

    属性页窗口是不允许改变大小的,我们不能通过拖运窗口边缘,改变它的大
小。有时我们的程序中希望达到改变属性页大小,那么我们可用
 GetWindowRect()函数得到窗口大小,再用MoveWindow()或SetWindowPos()函
数改变窗口大小,这种方法对其它类型的窗口也有效。下面的代码将使窗口尺
寸加宽200个象素。

CRect rectWnd;
GetWindowRect(rectWnd);
SetWindowPos(NULL, 0, 0,
rectWnd.Width() + 100,
rectWnd.Height(),
SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE);


    改变属性页的大小后,属性页上的按钮位置可能不符合我们的需要,下
面的代码将同时移动OK、CANCEL、APPLY三个按钮,以符合你的审美观。
int ids[] = { IDOK, IDCANCEL, ID_APPLY_NOW };
for( int i =0; i < sizeof(ids)/sizeof(ids[0]); i++)
{
GetDlgItem(ids)->GetWindowRect(rectWnd);
ScreenToClient(rectWnd);
rectWnd.right += 100;
rectWnd.left += 100;
GetDlgItem(ids)->MoveWindow(rectWnd);}

  属性页的大小改变后,属性页中的标签控件也要作出相应的改变。 
        CRect rectWnd;
        GetTabControl()->GetWindowRect(rectWnd);
        GetTabControl()->SetWindowPos(NULL, 0, 0,
                rectWnd.Width() + 100,
               rectWnd.Height(),
               SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE);
 注释:属性页大小的修改页可以通过在父类中  发送消息,于onsize()中响应,并做相应的改变。