本文以创建按钮为例       在VC中创建一个对话框工程,本例中为“手工创建控件”,为方便起见,我们在对话框中先画一个按钮,并将按钮ID设置为:IDC_CREATE_BUTTON,标题为:“创建”,然后在Dlg对话框类下面创建一个CButton *pButton的指针变量,在OnInitDialog中把pButton指向NULL,完成初始化之后,开始编写创建按钮代码,在IDC_CREATE_BUTTON按钮上双击,进入到:    void CMyDlg::OnCreateButton() 代码编写中,编写如下代码:

void CMyDlg::OnCreateButton()
 { 
   // TODO: Add your control notification handler code here 
   if(pButton == NULL)  
         pButton = new CButton; 
  static BOOL bCreate = FALSE; 
  if( !bCreate ) 
   { 
       TCHAR szCaption[] = TEXT("手工创建按钮");  
       DWORD dwStyle = WS_CHILD| WS_GROUP | WS_VISIBLE | WS_TABSTOP ; 
       CRect r ;  
       GetClientRect(&r);  
       r.left = r.left +100;  
       r.right = r.left + lstrlen(szCaption)*10;  //一个字约10个像素大小
       r.bottom = r.top + 20;  
       pButton->Create(szCaption,dwStyle,r,this,IDC_CREATE_BUTTON+1); 
       bCreate = TRUE; 
  }
}

然后编写创建按钮测试代码,在CMyDlg中编写 
  afx_msg void OnPress();
在消息宏处理中编写
  ON_BN_CLICKED(IDC_CREATE_BUTTON, OnPress)
然后在类定义中编写
  void MyDlg::OnPress()
{
      AfxMessageBox("按钮被按下");     //用一个消息框提示按钮创建成功
}

之后编译运行,点击创建按钮,将在对话框顶端创建一个标题为:“手工创建按钮”的按钮,点击后将抛出一个“按钮被按下”的消息框。

转载于:https://www.cnblogs.com/ubunoon/archive/2008/04/29/2058912.html

MFC中手工创建控件相关推荐

  1. MFC中动态创建控件以及事件响应实现方法

    本文实例讲述了MFC中动态创建控件以及事件响应实现方法,分享给大家供大家参考.具体实现方法如下: 动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的. 一.创建动态 ...

  2. MFC中动态创建控件以及添加事件响应

    本文实例讲述了MFC中动态创建控件以及事件响应实现方法,分享给大家供大家参考.具体实现方法如下: 动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的. 一.创建动态 ...

  3. MFC中动态创建控件及添加消息响应的方法实例

    动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的. 一.创建动态控件: 为了对照,我们先来看一下静态控件的创建. 放置静态控件时必须先建立一个容器,一般是对话框, ...

  4. MFC中的edit控件

    edit control 编辑框 static control 静态文本框控件 Button 按钮控件 第一步,在VS2019中新建一个MFC项目: 第二步,打开资源视图,双击打开窗口,在工具栏中选择 ...

  5. VC/MFC中的CComboBox控件使用详解

    CComboBox控件详解 CComboBox控件又称作组合框控件,其有三种形态可供选择,1.简单组合框(Simple)2.下拉组合框(Drop-down)3.下拉列表式组合框(Drop-down l ...

  6. MFC中开发ocx控件,html容器收不到ocx的事件Event

    问题背景: MFC开发ocx控件,主窗口就是ctrl类,主窗口类中调度接口和事件映射添加,执行OK,外部html容器中接收事件成功,如下: ctrl.h中声明事件映射函数 void EVTPENSIG ...

  7. 在MFC中使用OCX控件遇到的一个问题

    [问题:] 在一个简单的MFC对话框中嵌入一个OCX控件(如浏览器控件),该控件采用动态方式创建,即调用CWnd::Create()接口生成窗口,在本机运行良好,但是在其它部分机器上运行则出现程序异常 ...

  8. MFC中访问界面控件的两种方法

    1.在资源中创建一个对话框资源,放置一些控件,然后使用类向导创建一个此对话框类型的变量,项目中会自动创建此对话框的.h和.cpp文件. 有两种方式可在代码中访问控件. (1)如果在代码中直接访问,则使 ...

  9. MFC中Tab Control控件的使用

    一.创建TabControl控件主要分为以下步骤 1.1将TabControl控件拖入基本对话框中,并且创建一个控件变量m_tab 1.2创建两个子对话框,ID分别改为IDD_DIALOG_PAGE1 ...

  10. 在MFC中怎么样让控件的大小随着主窗体大小改变而改变

    转载:https://blog.csdn.net/business122/article/details/11611421 MFC控件随着窗口大小变化VC++ 刚接触MFC不久,对MFC的许多函数和功 ...

最新文章

  1. HTML5动态圆形导航,jQuery带动画特效的圆形导航菜单特效
  2. C# HttpHelper帮助类,真正的Httprequest请求时无视编码,无视证书,无视Cookie,网页抓取...
  3. 构建现代产业体系 农民丰收节·林裕豪:从玉农业落实“链长制”1-09-27
  4. 信息化建设规划_苏交集团施工企业信息化建设规划分享会顺利召开
  5. (七) DockerUI与Shipyard以及InfluxDB+cAdvisor+Grafana配置监控...
  6. 【OS学习笔记】四 什么是虚拟机
  7. Amber Group创始人兼CEO Michael Wu:CBDC将成为更广义、重要的加密资产
  8. linux服务sendmail邮件服务
  9. End-to-End Object Detection with Transformers的部分解读
  10. 做了一个验证码识别的网站
  11. wzplayerEx for android(真正硬解接口,支持加密的 player)
  12. tomcat日志设置与详解
  13. 无法从服务器获取视频文件,视频从云服务器获取视频文件
  14. latex表格排版指南
  15. SGU 111 Very simple problem 翻译 题解
  16. 安装postman工具 出现请设置注册表项HKLM\Software\Microsoft\.NETFramework\InstallRoot,指向.NET Fra
  17. 桌面图标全部成被选中状态解决办法
  18. 【VisionMaster 行业应用案例】第二讲 多相机定位引导应用
  19. excel系列【下拉项二选一】
  20. ACM组合数学题目列表

热门文章

  1. java 数据库实现源锁_采用java和数据库两种方式进行加锁
  2. 聊聊spring data jpa的JpaQueryLookupStrategy
  3. java之Junit
  4. 关于X WindowSystem 、gnome、以及安装vncserver
  5. 幸运的袋子(深度优先遍历(Depth First Search,DFS))
  6. 华硕物联网机器人今年推出 开发进入最后阶段
  7. PoEdu - C++阶段班【Po学校】- 第1课
  8. 设计鲁棒性的方法:输入一个链表的头结点,逆序遍历打印该链表出来
  9. 6.面向对象的三大特征
  10. PHP瓜分两个数组的相同元素和不同元素的两种方法