當前位置:偏方大全网 - 藥品查詢 - 當MFC EasySize.h最大化對話框時,控件會相應變大,但運行時不會改變。

當MFC EasySize.h最大化對話框時,控件會相應變大,但運行時不會改變。

首先妳要註意,在BEGIN_EASYSIZE_MAP和END_EASYSIZE_MAP之間必須使用EASYSIZE。如果單獨使用,肯定不會更新,因為:

invalidate();?update window();這個更新代碼在END_EASYSIZE_MAP宏中定義。

另外,參數方面,EASYSIZE(id,l,t,r,b,o),第壹個沒問題,2~5分別是左、上、右、下坐標。最後壹個是標誌位,支持:

#定義?ES_BORDER?0xffffffff

#定義?ES_KEEPSIZE?0xfffffffe

#定義?ES_HCENTER?0x00000001

#定義?ES_VCENTER?0x00000002四個參數之壹。

EASYSIZE(IDC_LIST_SEND,ES_BORDER,ES_BORDER,ES_BORDER,ES_BORDER,0)

它意味著縮放後,控件距邊界的位置保持不變,水平和垂直方向上的尺寸被拉伸。

我復制了壹個網上的描述,請參考壹下:

第壹步:將easysize.h復制到CMyDlg的項目文件夾中,並將# include“easysize . h”添加到。h文件和。同時CMyDlg的cpp文件;

第二步:將DECLARE_EASYSIZE添加到CMyDlg類的h文件中,註意不要添加“;”最後。。

類CMyDlg:公共CDialog

{

聲明_EASYSIZE

//構造

}

第三步:在CMyDlg類的OnInitDialog()函數的末尾添加INIT_EASYSIZE。請註意“;”應該加在這裏的末尾。。

BOOL CMyDlg::OnInitDialog()

{ …

// TODO:在此添加額外的初始化

INIT _ EASYSIZE

返回TRUE?//返回真?除非您將焦點設置到控件上

}

第四步:在OnSize()中添加WM_SIZE消息響應函數,在函數中添加UPDATE_EASYSIZE。請註意“;”應該加在這裏的末尾。。

void CMyDlg::OnSize(UINT nType,int cx,int cy)

{

CDialog::OnSize(nType,cx,cy);

// TODO:在此添加消息處理程序代碼

UPDATE _ EASYSIZE

}

步驟5:將EASYSIZE的宏映射添加到CMyDlg的cpp文件中。

BEGIN_EASYSIZE_MAP(CMyDlg)

EASYSIZE(IDC_LIST_SEND,ES_BORDER,ES_BORDER,ES_BORDER,ES_BORDER,0)

END_EASYSIZE_MAP

  • 上一篇:藥品3000字
  • 下一篇:吸油真的能減肚子嗎?
  • copyright 2024偏方大全网