控件方法MFC对话框编程(二):控件的访问
2013-05-09 19:17
405 查看
PS:今天上午,非常郁闷,有很多简单基础的问题搞得我有些迷茫,哎,码代几天不写就忘。目前又不当COO,还是得用心记码代哦!
一、关于静态本文控件
1、静态本文控件主要是用来起标识作用,所以他们的ID在刚创立时都是一样的。
2、取获静态本文控件上表现的本文。
3、取获静态本文间空对象的指针
4、设置静态本文控件上表现的符字
二、关于编辑框控件
1、拜访编辑框控件的方法一
实现加法的码代如下
GetDlgItem(IDC_EDIT3)->SetWindowText(a2);
2、方法二
3、方法三
该函回返编辑本文框控件的符字串并已把他装换位整形据数。
4、方法四
将控件与一个成员变量相联关
每日一道理
巴尔扎克说过“不幸,是天才的进升阶梯,信徒的洗礼之水,弱者的无底深渊”。风雨过后,眼前会是鸥翔鱼游的天水一色;走出荆棘,前面就是铺满鲜花的康庄大道;登上山顶,脚下便是积翠如云的空蒙山色。 在这个世界上,一星陨落,黯淡不了星空灿烂,一花凋零,荒芜不了整个春天。人生要尽全力度过每一关,不管遇到什么困难不可轻言放弃。
DDX_Text(pDX, IDC_EDIT1, m_edit1);
DDX_Text(pDX, IDC_EDIT2, m_edit2);
DDX_Text(pDX, IDC_EDIT3, m_edit3);
//}}AFX_DATA_MAP
}
该函数由应用程序框架调用,实现了对话框控件与类成员变量之间的联关,据数交换。
意注:程序码代不必调用该函数实现据数之间的交互,可以通过调用CWnd::UpdateData()接间实现据数的交互。
false
);//用变量的值更新控件表现的值
5、方法五
将控件联关一个控件变量
DDX_Control(pDX, IDC_EDIT3, m_cedit3); DDX_Control(pDX, IDC_EDIT2, m_cedit2); DDX_Control(pDX, IDC_EDIT1, m_cedit1);
DDX_Text(pDX, IDC_EDIT1, m_edit1); DDX_Text(pDX, IDC_EDIT2, m_edit2); DDX_Text(pDX, IDC_EDIT3, m_edit3); //}}AFX_DATA_MAP }
此时m_cedit1就是一个CEit对象,可以用使GetWindowText()拜访编辑框间空中的内容。
6、方法六、发送息消的式方 (WM_TEXT)
7、方法七、发送息消的式方(直接给子控件发送息消)
三、总结
文章结束给大家分享下程序员的一些笑话语录:
话剧:程序员过沟
本剧内容纯属虚构,如有雷同……HEHE……俺也没办法了。
话说某市街道改建,某某软件公司门口横七竖八挖了几条大沟。一群程序员(SDK程序员赵某,VB程序员钱某,VC程序员孙某,DELPHI程序员李某)下班从公司里出来,看到门前的几条沟,于是各显神通……门前第一条沟也就半米来宽,SDK程序员赵某二话没说,轻轻一跃跳了过去,看到其它人纷纷把随身携带的公文包(类库)横在沟上踩着过沟,不屑地说,这么小一条沟,犯得着小题大做用那个吗?看我多么轻松多么洒脱多么……多么……(众人皆怒目横视之……)
接着第二条沟有点宽度。SDK程序员赵某还是还是一马当先,飞跃而起……不好,还差一点才到……幸好凭着多年的(跳远?编程?)经验,单手抓住沟沿,颤巍巍地爬了上来,嘴里还念念有词“高手就是高手啊,虽然差一点就……不过毕竟……HEHE……跳远是过沟的基础嘛,有基础(SDK)就有一切的说……”(众人作瞠目结舌状……)看到别人跳过去了,可自己又跳不了那么远,只好再想办法了……VB程序员钱某,DELPHI程序员李某打开手提,连上手机,开始上网找可供过沟的控件……VC程序员孙某却不慌不忙,打开公文包,把几块衬板拆了下来,然后三下五除二拼成一个简易木桥……“虽然这几个板子(类)做得不怎么样,不过先把这个项目应付过去,有时间我自己做一个好了……”于是踩着板子过了沟。
这时钱某和李某也分别找到了合适的东东。钱某找到的是“钢丝绳.ocx”,安装简单,使用方便,拉出一头,对孙某说“大虾,顺手拉兄弟一把……”,于是把绳子系在沟两边的绿化树木上,踩着钢丝就过了沟。刚刚站稳就四方作揖,“小生这里有礼了”。这时一戴着黄袖圈的老太太跳了出来,抓住钱某,“破坏绿化树木,罚款XXXX元,交钱,交钱,交钱!”(老人家作双枪老太婆怒视伪军状
……钱某被逼无奈,只好边掏钱,边对着后台叫道“导演,我这可是因公牺牲,不给个烈士称号也得报销”,后台一个臭鸡蛋飞出,“叫什么叫,我这个月的粮饷还不知哪里去领呢,都什么时代了,你不下岗都不错了……”)
李某看着刚刚好不容易从台湾拖回来的“铝条.ZIP”
一、关于静态本文控件
1、静态本文控件主要是用来起标识作用,所以他们的ID在刚创立时都是一样的。
2、取获静态本文控件上表现的本文。
int GetWindowText( LPTSTR lpszStringBuf, int nMaxCount ) const; void GetWindowText( CString& rString ) const;
3、取获静态本文间空对象的指针
CWnd::GetDlgItem CWnd* GetDlgItem( int nID ) const; void CWnd::GetDlgItem( int nID, HWND* phWnd ) const;
4、设置静态本文控件上表现的符字
void GetWindowText( CString& rString ) const;
二、关于编辑框控件
1、拜访编辑框控件的方法一
GetDlgItem(IDC_EDIT1)->GetWindowText(a,10);//a是一个指向符字串的指针
实现加法的码代如下
char a[10],a1[10],a2[10]; int num1,num2,num3; GetDlgItem(IDC_EDIT1)->GetWindowText(a,10); GetDlgItem(IDC_EDIT2)->GetWindowText(a1,10);num1=atoi(a); num2=atoi(a1); num3=num1+num2;//char *_itoa( int value, char *string, int radix ); itoa(num3,a2,10);
GetDlgItem(IDC_EDIT3)->SetWindowText(a2);
2、方法二
CWnd::GetDlgItemText int GetDlgItemText( int nID, LPTSTR lpStr, int nMaxCount ) const; int GetDlgItemText( int nID, CString& rString ) const;
3、方法三
UINT GetDlgItemInt( int nID, BOOL* lpTrans = NULL, BOOL bSigned = TRUE ) const;
该函回返编辑本文框控件的符字串并已把他装换位整形据数。
4、方法四
将控件与一个成员变量相联关
void CTestDialog::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CTestDialog)
每日一道理
巴尔扎克说过“不幸,是天才的进升阶梯,信徒的洗礼之水,弱者的无底深渊”。风雨过后,眼前会是鸥翔鱼游的天水一色;走出荆棘,前面就是铺满鲜花的康庄大道;登上山顶,脚下便是积翠如云的空蒙山色。 在这个世界上,一星陨落,黯淡不了星空灿烂,一花凋零,荒芜不了整个春天。人生要尽全力度过每一关,不管遇到什么困难不可轻言放弃。
DDX_Text(pDX, IDC_EDIT1, m_edit1);
DDX_Text(pDX, IDC_EDIT2, m_edit2);
DDX_Text(pDX, IDC_EDIT3, m_edit3);
//}}AFX_DATA_MAP
}
该函数由应用程序框架调用,实现了对话框控件与类成员变量之间的联关,据数交换。
意注:程序码代不必调用该函数实现据数之间的交互,可以通过调用CWnd::UpdateData()接间实现据数的交互。
UpdateData();//用控件上的值更新变量 m_edit3=m_edit1+m_edit2; UpdateData(
false
);//用变量的值更新控件表现的值
5、方法五
将控件联关一个控件变量
void CTestDialog::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CTestDialog)
DDX_Control(pDX, IDC_EDIT3, m_cedit3); DDX_Control(pDX, IDC_EDIT2, m_cedit2); DDX_Control(pDX, IDC_EDIT1, m_cedit1);
DDX_Text(pDX, IDC_EDIT1, m_edit1); DDX_Text(pDX, IDC_EDIT2, m_edit2); DDX_Text(pDX, IDC_EDIT3, m_edit3); //}}AFX_DATA_MAP }
此时m_cedit1就是一个CEit对象,可以用使GetWindowText()拜访编辑框间空中的内容。
6、方法六、发送息消的式方 (WM_TEXT)
LRESULT SendMessage( HWND hWnd, // handle to destination window UINT Msg, // message WPARAM wParam, // first message parameter LPARAM lParam // second message parameter);
7、方法七、发送息消的式方(直接给子控件发送息消)
LRESULT SendDlgItemMessage( HWND hDlg, // handle to dialog box int nIDDlgItem, // control identifier UINT Msg, // message to send WPARAM wParam, // first message parameter LPARAM lParam // second message parameter);
三、总结
文章结束给大家分享下程序员的一些笑话语录:
话剧:程序员过沟
本剧内容纯属虚构,如有雷同……HEHE……俺也没办法了。
话说某市街道改建,某某软件公司门口横七竖八挖了几条大沟。一群程序员(SDK程序员赵某,VB程序员钱某,VC程序员孙某,DELPHI程序员李某)下班从公司里出来,看到门前的几条沟,于是各显神通……门前第一条沟也就半米来宽,SDK程序员赵某二话没说,轻轻一跃跳了过去,看到其它人纷纷把随身携带的公文包(类库)横在沟上踩着过沟,不屑地说,这么小一条沟,犯得着小题大做用那个吗?看我多么轻松多么洒脱多么……多么……(众人皆怒目横视之……)
接着第二条沟有点宽度。SDK程序员赵某还是还是一马当先,飞跃而起……不好,还差一点才到……幸好凭着多年的(跳远?编程?)经验,单手抓住沟沿,颤巍巍地爬了上来,嘴里还念念有词“高手就是高手啊,虽然差一点就……不过毕竟……HEHE……跳远是过沟的基础嘛,有基础(SDK)就有一切的说……”(众人作瞠目结舌状……)看到别人跳过去了,可自己又跳不了那么远,只好再想办法了……VB程序员钱某,DELPHI程序员李某打开手提,连上手机,开始上网找可供过沟的控件……VC程序员孙某却不慌不忙,打开公文包,把几块衬板拆了下来,然后三下五除二拼成一个简易木桥……“虽然这几个板子(类)做得不怎么样,不过先把这个项目应付过去,有时间我自己做一个好了……”于是踩着板子过了沟。
这时钱某和李某也分别找到了合适的东东。钱某找到的是“钢丝绳.ocx”,安装简单,使用方便,拉出一头,对孙某说“大虾,顺手拉兄弟一把……”,于是把绳子系在沟两边的绿化树木上,踩着钢丝就过了沟。刚刚站稳就四方作揖,“小生这里有礼了”。这时一戴着黄袖圈的老太太跳了出来,抓住钱某,“破坏绿化树木,罚款XXXX元,交钱,交钱,交钱!”(老人家作双枪老太婆怒视伪军状
……钱某被逼无奈,只好边掏钱,边对着后台叫道“导演,我这可是因公牺牲,不给个烈士称号也得报销”,后台一个臭鸡蛋飞出,“叫什么叫,我这个月的粮饷还不知哪里去领呢,都什么时代了,你不下岗都不错了……”)
李某看着刚刚好不容易从台湾拖回来的“铝条.ZIP”
相关文章推荐
- Windows编程基础--第8节 MFC对话框控件访问的七种方法(上)
- MFC中 自定义类访问主对话框控件的方法
- MFC访问对话框控件的7种方法
- 【VS开发】VS2010 MFC中控件、对话框等背景颜色动态修改的方法
- MFC编程入门之八(对话框:创建对话框类和添加控件变量)
- MFC编程入门之九(对话框:为控件添加消息处理函数)
- 在VS2010里MFC对话框中使用OpenGL绘图,添加的控件不显示的一种解决方法
- 添加RichEdit控件导致MFC对话框程序无法执行的解决方法
- MFC子线程访问主线程对话框程序的控件对象
- (转载)VS2010/MFC编程入门之八(对话框:创建对话框类和添加控件变量)
- 两种方法实现MFC 对话框最大化时控件也随比例最大化或者还原
- 两种方法实现MFC 对话框最大化时控件也随比例最大化或者还原
- MFC对话框编程之控件删除
- vc++ 对话框控件访问的7种方法
- VC++无标题窗口以及控件拖动的方法,MFC中的对话框怎么拖动不了
- (转载)VS2010/MFC编程入门之九(对话框:为控件添加消息处理函数)
- MFC控件编程:列表控件、树控件、属性页对话框 (未完)
- VS2010/MFC编程入门之九(对话框:设置对话框控件的Tab顺序)
- MFC中访问控件的七种方法,摘自孙鑫老师MFC视频
- 对话框中控件的几种访问方法