MFC中手工创建控件
本文以创建按钮为例 在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中手工创建控件相关推荐
- MFC中动态创建控件以及事件响应实现方法
本文实例讲述了MFC中动态创建控件以及事件响应实现方法,分享给大家供大家参考.具体实现方法如下: 动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的. 一.创建动态 ...
- MFC中动态创建控件以及添加事件响应
本文实例讲述了MFC中动态创建控件以及事件响应实现方法,分享给大家供大家参考.具体实现方法如下: 动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的. 一.创建动态 ...
- MFC中动态创建控件及添加消息响应的方法实例
动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的. 一.创建动态控件: 为了对照,我们先来看一下静态控件的创建. 放置静态控件时必须先建立一个容器,一般是对话框, ...
- MFC中的edit控件
edit control 编辑框 static control 静态文本框控件 Button 按钮控件 第一步,在VS2019中新建一个MFC项目: 第二步,打开资源视图,双击打开窗口,在工具栏中选择 ...
- VC/MFC中的CComboBox控件使用详解
CComboBox控件详解 CComboBox控件又称作组合框控件,其有三种形态可供选择,1.简单组合框(Simple)2.下拉组合框(Drop-down)3.下拉列表式组合框(Drop-down l ...
- MFC中开发ocx控件,html容器收不到ocx的事件Event
问题背景: MFC开发ocx控件,主窗口就是ctrl类,主窗口类中调度接口和事件映射添加,执行OK,外部html容器中接收事件成功,如下: ctrl.h中声明事件映射函数 void EVTPENSIG ...
- 在MFC中使用OCX控件遇到的一个问题
[问题:] 在一个简单的MFC对话框中嵌入一个OCX控件(如浏览器控件),该控件采用动态方式创建,即调用CWnd::Create()接口生成窗口,在本机运行良好,但是在其它部分机器上运行则出现程序异常 ...
- MFC中访问界面控件的两种方法
1.在资源中创建一个对话框资源,放置一些控件,然后使用类向导创建一个此对话框类型的变量,项目中会自动创建此对话框的.h和.cpp文件. 有两种方式可在代码中访问控件. (1)如果在代码中直接访问,则使 ...
- MFC中Tab Control控件的使用
一.创建TabControl控件主要分为以下步骤 1.1将TabControl控件拖入基本对话框中,并且创建一个控件变量m_tab 1.2创建两个子对话框,ID分别改为IDD_DIALOG_PAGE1 ...
- 在MFC中怎么样让控件的大小随着主窗体大小改变而改变
转载:https://blog.csdn.net/business122/article/details/11611421 MFC控件随着窗口大小变化VC++ 刚接触MFC不久,对MFC的许多函数和功 ...
最新文章
- HTML5动态圆形导航,jQuery带动画特效的圆形导航菜单特效
- C# HttpHelper帮助类,真正的Httprequest请求时无视编码,无视证书,无视Cookie,网页抓取...
- 构建现代产业体系 农民丰收节·林裕豪:从玉农业落实“链长制”1-09-27
- 信息化建设规划_苏交集团施工企业信息化建设规划分享会顺利召开
- (七) DockerUI与Shipyard以及InfluxDB+cAdvisor+Grafana配置监控...
- 【OS学习笔记】四 什么是虚拟机
- Amber Group创始人兼CEO Michael Wu:CBDC将成为更广义、重要的加密资产
- linux服务sendmail邮件服务
- End-to-End Object Detection with Transformers的部分解读
- 做了一个验证码识别的网站
- wzplayerEx for android(真正硬解接口,支持加密的 player)
- tomcat日志设置与详解
- 无法从服务器获取视频文件,视频从云服务器获取视频文件
- latex表格排版指南
- SGU 111 Very simple problem 翻译 题解
- 安装postman工具 出现请设置注册表项HKLM\Software\Microsoft\.NETFramework\InstallRoot,指向.NET Fra
- 桌面图标全部成被选中状态解决办法
- 【VisionMaster 行业应用案例】第二讲 多相机定位引导应用
- excel系列【下拉项二选一】
- ACM组合数学题目列表
热门文章
- java 数据库实现源锁_采用java和数据库两种方式进行加锁
- 聊聊spring data jpa的JpaQueryLookupStrategy
- java之Junit
- 关于X WindowSystem 、gnome、以及安装vncserver
- 幸运的袋子(深度优先遍历(Depth First Search,DFS))
- 华硕物联网机器人今年推出 开发进入最后阶段
- PoEdu - C++阶段班【Po学校】- 第1课
- 设计鲁棒性的方法:输入一个链表的头结点,逆序遍历打印该链表出来
- 6.面向对象的三大特征
- PHP瓜分两个数组的相同元素和不同元素的两种方法