孙鑫VC++深入详解:Lesson7 Part1---模态对话框,非模态对话框,静态文本控件的访问
2013-07-06 19:28
399 查看
知识点: 在MFC中要对一个资源,就应该先为该资源创建一个关联的类,通过类的对象来操作该资源
//----创建模态对话框
CTestDlg dlg;
dlg.DoModal();
//----创建非模态对话框
CTestDlg *pDlg=new CTestDlg();
pDlg->Create(IDD_DIALOG1,this);
pDlg->ShowWindow(SW_SHOW);
//------静态文本控件的访问
(1)改变控件的ID
(2)Style中勾选Notify
(3)用Cwnd* GetDlgItem(int nID) const 函数获得指向控件的指针
(4)用GetWindowText(str),SetWindowText(str)函数.
//---
//---
//---
//----创建模态对话框
CTestDlg dlg;
dlg.DoModal();
//----创建非模态对话框
CTestDlg *pDlg=new CTestDlg();
pDlg->Create(IDD_DIALOG1,this);
pDlg->ShowWindow(SW_SHOW);
//------静态文本控件的访问
(1)改变控件的ID
(2)Style中勾选Notify
(3)用Cwnd* GetDlgItem(int nID) const 函数获得指向控件的指针
(4)用GetWindowText(str),SetWindowText(str)函数.
//---
// TestDlg.cpp : implementation file // #include "stdafx.h" #include "Mybole.h" #include "TestDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CTestDlg dialog //构造函数,用基类CDialog构造函数传入IDD,这个IDD就是IDD_DIALOG1,IDD在TestDlg.h中定义的. CTestDlg::CTestDlg(CWnd* pParent /*=NULL*/) : CDialog(CTestDlg::IDD, pParent) { //{{AFX_DATA_INIT(CTestDlg) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT m_bIsCreate = false; } void CTestDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CTestDlg) // NOTE: the ClassWizard will add DDX and DDV calls here //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CTestDlg, CDialog) //{{AFX_MSG_MAP(CTestDlg) ON_BN_CLICKED(ID_BTN_ADD, OnBtnAdd) ON_BN_CLICKED(IDC_NUMBER1, OnNumber1) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CTestDlg message handlers void CTestDlg::OnBtnAdd() { // TODO: Add your control notification handler code here //--- 创建按钮 /* static bool m_bIsCreate = false; if(m_bIsCreate==false) { m_btn.Create("微信",BS_DEFPUSHBUTTON|WS_VISIBLE|WS_CHILD,CRect(0,0,100,100),this,123); m_bIsCreate = true; } else { m_btn.DestroyWindow(); m_bIsCreate = false; } */ //---利用m_btn对象中的成员m_hWnd来判断按钮是否创建. /* if(m_btn.m_hWnd==NULL) m_btn.Create("微信",BS_DEFPUSHBUTTON|WS_VISIBLE|WS_CHILD,CRect(0,0,100,100),this,123); else m_btn.DestroyWindow(); */ //------ 加法 int num1,num2,num3; char ch1[10],ch2[10],ch3[10]; GetDlgItem(IDC_EDIT1)->GetWindowText(ch1,10); GetDlgItem(IDC_EDIT2)->GetWindowText(ch2,10); num1 = atoi(ch1); num2 =atoi(ch2); num3 = num1+num2; itoa(num3,ch3,10); GetDlgItem(IDC_EDIT3)->SetWindowText(ch3); } // -----静态文本的访问 void CTestDlg::OnNumber1() { // TODO: Add your control notification handler code here CString str; if(GetDlgItem(IDC_NUMBER1)->GetWindowText(str),str="Number1:") { GetDlgItem(IDC_NUMBER1)->SetWindowText("数值1:"); } else { GetDlgItem(IDC_NUMBER1)->SetWindowText("Number1:"); } }
//---
//---
相关文章推荐
- 孙鑫VC++深入详解:Lesson7 Part2---访问静态文本控件的七种方法
- 猎豹MFC--对话框 静态文本 编辑框 按钮 对话框 访问控件
- 孙鑫VC++深入详解:Lesson8 Part1---"逃跑"按钮的实现
- 孙鑫VC++深入详解:Lesson5 Part1 文本插入符Caret,位图插入符,窗口重绘
- 孙鑫VC++深入详解:Lesson9 Part1---修改应用程序窗口
- 孙鑫VC++深入详解:Lesson7 Part4 ---对话框上各个控件之间循环接受回车键获得焦点
- 通过OnCtlColor函数的重载对静态控件进行文本和背景颜色设置
- 把界面上静态文本控件的尺寸根据文本的内容自动调整大小
- 孙鑫VC++深入详解:Lesson6 Part5--- 给自建的动态子菜单配置COMMAN消息响应函数
- 孙鑫VC++深入详解:Lesson9 Part3---模拟动画图标
- MFC小程序003------MFC使用WebBrowser组件,在对话框中创建滚动视图,动态创建一个静态文本控件并设置鼠标单击的消息响应
- 静态文本控件自绘
- MFC-按钮与静态文本控件
- 怎样让在OnPaint中设置的对话框背景色和静态文本,编辑框等控件的背景色一致,这样看起来才协调
- 孙鑫VC++深入详解:Lesson6 Part3 ---创建右键弹出菜单 TrackPopupMenu
- as3中flash的静态文本是可以直接访问的
- 孙鑫VC++深入详解:Lesson9 Part8---给程序加个启动画面
- MFC静态文本控件设置超链接
- MFC对话框添加透明的静态文本控件
- 为编辑框控件或是静态文本控件中的文本添加颜色