首页>>百科常识

C++ MFC 如何获取和设置控件属性,比如获取button的caption?

今天宠物迷的小编给各位宠物饲养爱好者分享mfc设置控件属性的宠物知识,其中也会对C++ MFC 如何获取和设置控件属性,比如获取button的caption?(mfc控件使用)进行专业的解释,如果能碰巧解决你现在面临的宠物相关问题,别忘了关注本站哦,现在我们开始吧!

C++ MFC 如何获取和设置控件属性,比如获取button的caption?

C++ MFC 如何获取和设置控件属性,比如获取button的caption?

首先要知道这个控件的ID,通过ID来访问控件
要想获得控件上的文本,可以用GetDlgItemText这个函数
函数原型是int GetDlgItemText( int nID, CString& rString ) const;
第一个参数是控件的ID,第二个参数是用来接收控件文本的字符串(CString类型的)

我初学VC++,基于MFC编程,不知如何实现在程序的按钮事件函数中修改另一控件的属性,望指教。

另一个控件添加关联一个控件变量,然后对控件变量操作就可以设置另一个控件的属性了;调用相应的成员函数,如:要设置另一个编辑空的属性为只读m_edit。setreadonly();就可以了,你可以查一下相应的api函数。

MFC如何在父窗口的指定位置创建子窗口,及bo

这里以一个实例来演示:
1、我们新建一个基于对话框的项目,项目名字为test。
2、在资源视图中添加两个对话框IDD_ENQIURENOTE_NEWDLG_INFO、IDD_ENQIURENOTE_NEWDLG_ENQIURE,并设计好对话框的界面。
在资源视图的子窗口通过右键,选择属性,把子窗口的style设置为child。
而picture控件的border属性默认是典型的对话框形式,如果想搞嵌入式的,可以改为none,即没有边框;或者改为thin则是细边框.
3、在父窗口上用工具箱的PictureControl选择出一个区域,将来让子窗口显示在这个区域中,并将该控件命名为IDC_STATIC_ChildArea。
4、在资源视图中找到两个子窗口的对话框上,分别右键,选择添加类(Add Class),然后弹出的对话框中对新增的类进行设置。
其中,在基类(Base Class)需要选择CDialogEx(老版本的VC是CDialog),然后输入新增类的名称(例如输入C_NewDlg1、C_NewDlg2),点击确认即可新增类。
这样,这个新建的类不仅有对应的头文件还有.cpp文件,还有一个与这个类对应的UI界面。
5、把需要将新增的类对应的头文件#include "C_NewDlg1.h"、 #include "C_NewDlg2.h"包含到它对应的父类的头文件(如testDlg.h )中。
同时在protected域中声明一个这个类的对象,比如:
C_NewDlg1 m_NewDlg_Info;C_NewDlg2 m_NewDlg_Enqiure;CRect m_DialogChild;

6、在父类的初始化函数OnInitDialog()中作如下的改动:

BOOL CtestDlg::OnInitDialog(){CDialog::OnInitDialog();//下面的m_NewDlg_Info和m_NewDlg_Enqiure是将要显示在同一个区域的不同的类,其中默认显示第一个。m_NewDlg_Info.Create(IDD_ENQIURENOTE_NEWDLG_INFO,this);m_NewDlg_Enqiure.Create(IDD_ENQIURENOTE_NEWDLG_ENQIURE,this);//读取嵌入位置,IDC_STATIC_ChildArea。GetDlgItem(IDC_STATIC_ChildArea)->GetWindowRect(&m_DialogChild);ScreenToClient(m_DialogChild);//以下的功能是显示m_NewDlg_Info的内容。为了显示m_NewDlg_Enqiure,可以在相应的处理函数中放入代码,并隐藏m_NewDialog_Info即可。m_NewDlg_Info.MoveWindow(m_DialogChild);m_NewDlg_Info.ShowWindow(SW_SHOW);GetDlgItem(IDC_STATIC_ChildArea)->ShowWindow(false);return TRUE;}


这样就完成了MFC中添加子内容到某一个区域的功能。

mfc 如何在程序中设置控件属性

要实现每一种,都有各自的方法,详细请看msdn的CButton类,

C++控件的CAPTION问题。

好吧,你得告诉我你的C++是基于CLR平台的还是API编程
如果基于CLR平台:
button1->Text="确定";
如果使用API来编程:
首先,你要得到这个控件的句柄
C++中的控件都是以句柄来控制的,
然后用一个Windows API的自带函数来进行修改:
SetWindowText(你的按钮句柄,"确定");
如果你还不知道怎么新建这个按钮,先添加一个变量:
HWND button;
然后在WndProc中添加WM_CREATE消息的处理事件,在里面加入:
button=CreateWindow("PUSHBUTTON","确定",BS_PUSHBUTTON|WM_VISIBLE|WM_CHILD,0,0,100,20,hWnd,NULL,hInst,NULL);
这样就新建了一个标题是确定的按钮
——————————————————
用C++进行windows编程和其他语言都不一样你还没有脱离VB的显式类的思想

mfc 如何在程序中设置控件属性

要实现每一种,都有各自的方法,详细请看msdn的CButton类,

mfc中为控件添加的变量如何做修改呀

在你的工程中找到*****Dlg.h文件,该文件类的声明中可以找到你的控件变量的定义,在这里修改就可以,而且相应的*****Dlg.cpp文件中,关于控件与变量绑定的语句也要做相应的修改:
void 类名::DoDataExchange(CDataExchange* pDX)
{
DDX_Control(pDX,控件标识, 变量名);
}

mfc 如何在程序中设置控件属性

要实现每一种,都有各自的方法,详细请看msdn的CButton类,

在MFC中怎样动态设置控件属性

CRect rect;//初始化到你要放置的位置
m_button_ok.MoveWindow(&rect);
m_button_ok.ShowWindow(TRUE);
这样就可以移动了

本文由宠物迷 百科常识栏目发布,非常欢迎各位朋友分享到个人朋友圈,但转载请说明文章出处“C++ MFC 如何获取和设置控件属性,比如获取button的caption?

标签:宠物爱好