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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VS C++ MFC 控件怎么修改大小?属性里 没有size一项。。难道只能用鼠标去拉着看左下角的坐标和大小吗??相关的知识,希望对你有一定的参考价值。

写错了。。是 难道只能用鼠标拉着看右下角的坐标和大小码?

MFC中的控件大小是可以修改的,但是有点麻烦,具体方法如下:
CWnd类的函数MoveWindow()或SetWindowPos()可以改变控件的大小和位置。
void MoveWindow(int x,int y,int nWidth,int nHeight);void MoveWindow(LPCRECT lpRect);第一种用法需给出控件新的坐标和宽度、高度;第二种用法给出存放位置的CRect对象;例:CWnd *pWnd;pWnd = GetDlgItem( IDC_EDIT1 ); //获取控件指针,IDC_EDIT1为控件ID号pWnd->MoveWindow( CRect(0,0,100,100) ); //在窗口左上角显示一个宽100、高100的编辑控件
SetWindowPos()函数使用更灵活,多用于只修改控件位置而大小不变或只修改大小而位置不变的情况:BOOL SetWindowPos(const CWnd* pWndInsertAfter,int x,int y,int cx,int cy,UINT nFlags);第一个参数我不会用,一般设为NULL;x、y控件位置;cx、cy控件宽度和高度;nFlags常用取值:SWP_NOZORDER:忽略第一个参数;SWP_NOMOVE:忽略x、y,维持位置不变;SWP_NOSIZE:忽略cx、cy,维持大小不变;例:CWnd *pWnd;pWnd = GetDlgItem( IDC_BUTTON1 ); //获取控件指针,IDC_BUTTON1为控件ID号pWnd->SetWindowPos( NULL,50,80,0,0,SWP_NOZORDER | SWP_NOSIZE ); //把按钮移到窗口的(50,80)处pWnd = GetDlgItem( IDC_EDIT1 );pWnd->SetWindowPos( NULL,0,0,100,80,SWP_NOZORDER | SWP_NOMOVE ); //把编辑控件的大小设为(100,80),位置不变pWnd = GetDlgItem( IDC_EDIT1 );pWnd->SetWindowPos( NULL,0,0,100,80,SWP_NOZORDER ); //编辑控件的大小和位置都改变以上方法也适用于各种窗口。
参考技术A 如果你之前有了很好的布局构想,就在 .rc文件里改吧,用编辑器打开,你应该能认识;
单纯调整的话,资源编辑时,界面里不是有 排列、对其的按钮么?你没看到?追问

我选择控件后,右下角是可以看到 控件 “相对坐标”和“控件长宽像素比” 但是我想类似VB一样 手动输入数值更改 他的坐标和长宽像素比。找不到地方输入。。更改rc又太麻烦了。
我不是想排列和对齐。。那些我知道。。

参考技术B

不是,在资源视图中,右下角状态栏中是显示控件的大小的,选中控件后都可以看到;

而控件的位置则是这样:

    如果你没有额外的代码控制并且说有控件都是可见的,会按照你资源模板上的位置和大小显示;

    如果你的代码中有额外控制的,比如说调用过MoveWindow或者SetWindowPos函数,会显示在你指定的位置上(注意坐标系的转换)

希望对你有所帮助

追问

我选择控件后,右下角是可以看到 控件 “相对坐标”和“控件长宽像素比”
但是我想类似VB一样 手动输入数值更改 他的坐标和长宽像素比。
找不到地方输入。。更改rc又太麻烦了。

追答

这个没法了,只能在代码中调用MoveWindow或者SetWindowPos了,这两个里面的参数中包含了你要输入的那些数据,可以研究研究

本回答被提问者采纳

VS2008中怎样修改MFC界面 字体大小

参考技术A

右键 对话框,在对话框属性  字体(Font)中,设置所有控件中字体大小。。

追问

不是以对话框写的,就是这个不是通过控件写的字,而是通过语句编写插入主界面的,这样的情况怎么解决?

追答

嗯,比如是要改变编辑框中要显示的字的大小吗?

以上是关于VS C++ MFC 控件怎么修改大小?属性里 没有size一项。。难道只能用鼠标去拉着看左下角的坐标和大小吗??的主要内容,如果未能解决你的问题,请参考以下文章

MFC中TabCtrl控件怎么随着窗体的大小变化而变化?

MFC中TabCtrl控件怎么随着窗体的大小变化而变化?

vs2008,c#,我想修改窗口控件的位置和大小。

使用 VS6 C++ GUI 编辑器、MFC 以屏幕(像素)为单位调整全屏窗口大小?

MFC里怎么改变窗口上按钮控件的颜色

MFC静态文本控件怎么设置字体