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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用VC++怎么样动态改变控件的大小宽度和位置?相关的知识,希望对你有一定的参考价值。

比如列表控件(CListCtr),编辑框控件(CEdit)的大小宽度和位置
请给出实现的代码,如果能实现我在追加50分!拜托各位VC++高手!

用这个函数:
BOOL SetWindowPos(
const CWnd* pWndInsertAfter,
int x, // 左上角的x坐标
int y, // 左上角的y坐标
int cx,//长
int cy,//宽
UINT nFlags
);
其他的自己看MSDN,有参考事例,这个函数是从CWnd类继承的,所以要看CWnd类。
参考技术A 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);
参考技术B 假设你用的VC+MFC,又假设你先做了个编辑框控件, ID为 IDC_EDIT1
那么下面一句将它的位置改变,并改变大小,
GetDlgItem(IDC_EDIT1)->SetWindowPos(&wndTop, 10, 10, 100,80, SWP_SHOWWINDOW);

其它控件类似。

VS2013 VB.NET窗口控件怎么做自适应

VS2013 VB.NET窗口控件怎么做自适应

参考技术A 窗体在改变大小时会有一个size事件的,在这个事件中写代码获取窗体的高度和宽度再根据窗体的高度和宽度的比例来效果自己的控件的高度宽度比例 参考技术B Anchor,Dock属性,还有TableLayout控件等相结合。追问

我这实现不了,有源码分享下,谢谢

追答

你要实现什么,具体。

追问

窗体和控件自动缩放,切换分辨率后 一部分控件显示不下了

以上是关于用VC++怎么样动态改变控件的大小宽度和位置?的主要内容,如果未能解决你的问题,请参考以下文章

在VC++如何使控件大小修改为规定的大小?

.net中如何动态改变Label控件的位置

VC++(MFC)中动态创建和管理按钮控件,怎么做?

VS C++ MFC 控件怎么修改大小?属性里 没有size一项。。难道只能用鼠标去拉着看左下角的坐标和大小吗??

VC如何如何处理WM_SIZE使屏幕中的控件随窗口的改变而调整大小

C#编程,分辨率改变后,怎么让窗体的大小,窗体上的控件大小,位置,按比例改变?