zoukankan      html  css  js  c++  java
  • MFC中动态创建一个控件

    在View类中动态创建一个Edit控件如下:  
       
      editT1.Create(ES_MULTILINE   |   WS_CHILD   |   WS_VISIBLE   |   WS_TABSTOP   |   WS_BORDER,CRect(0,0,50,20),this,   IDC_EDITT1);  
       
      现在想实现类似对话框中的数据交换功能。  
       
      我的方法是:  
      void   CMatlabPrintView::DoDataExchange(CDataExchange*   pDX)    
      {  
      //   TODO:   Add   your   specialized   code   here   and/or   call   the   base   class  
      CView::DoDataExchange(pDX);  
      //{{AFX_DATA_MAP(CMatlabPrintView)  
      DDX_Text(pDX,   IDC_EDITT1,   m_dT1);  
      //}}AFX_DATA_MAP  
      }  
       
    在运行DoDataExchange时,你的编辑框还没有生成,IDC_EDITT1和m_dT1当然关联不上.  
      _____________________________________________________________________________  
      我同意着个说法,所以我的做法是:  
      在初始化(OnInitDialog())函数里加:  
                        editT1   =   new   CEdit();//要加这条语句  
      editT1->Create(ES_MULTILINE   |   WS_CHILD   |   WS_VISIBLE    
      |   WS_TABSTOP   |   WS_BORDER,CRect(0,0,50,20),this,   IDC_EDITT1);  
      在函数的开头声名一个全局的控件变量:CEdit   *editT1;  
      在函数的其他地方使用editT1去处理这个edit,如:editT1->SetWindowText("edit");

      IDC_EDITT1为自定义资源ID

      VC里程序的资源定义,后面的数字只是为了表示特定的资源,避免重复,具体的值并没有意义。
    #define IDD_ABOUTBOX 100 就是说有个ID为IDD_ABOUTBOX的对话框资源
  • 相关阅读:
    Android平台下基于XMPP的IM研究
    Android File数据存储
    Android 获取屏幕分辨率的方式
    Android TabHost 动态修改图标或者动态改变标题
    Android DatePickerDialog用法
    SharedPreference Demo
    progressdialog 去边框
    [LCT学习时的一些笔记]
    [ZJOI2007]最大半连通子图
    【Matrixtree Theorem学习笔记】
  • 原文地址:https://www.cnblogs.com/dongzhiquan/p/1994780.html
Copyright © 2011-2022 走看看