用VC++怎么样动态改变控件的大小宽度和位置?

来源:百度知道 编辑:UC知道 时间:2024/05/02 21:25:56
比如列表控件(CListCtr),编辑框控件(CEdit)的大小宽度和位置
请给出实现的代码,如果能实现我在追加50分!拜托各位VC++高手!

用这个函数:
BOOL SetWindowPos(
const CWnd* pWndInsertAfter,
int x, // 左上角的x坐标
int y, // 左上角的y坐标
int cx,//长
int cy,//宽
UINT nFlags
);
其他的自己看MSDN,有参考事例,这个函数是从CWnd类继承的,所以要看CWnd类。

CFont font;
LOGFONT lf;
memset(&lf, 0, sizeof(LOGFONT)); // zero out structure
lf.lfHeight = 12; // request a 12-pixel-height font
strcpy(lf.lfFaceName, "Arial"); // request a face name "Arial"
VERIFY(font.CreateFontIndirect(&lf)); // create the font

GetDlgItem(XXX)->SetFont(&font);

假设你用的VC+MFC,又假设你先做了个编辑框控件, ID为 IDC_EDIT1
那么下面一句将它的位置改变,并改变大小,
GetDlgItem(IDC_EDIT1)->SetWindowPos(&wndTop, 10, 10, 100,80, SWP_SHOWWINDOW);

其它控件类似。