MFC

一.操作控件的方式

1.获取控件的句柄操作

GetDlgItem(IDC_BUTTON); //IDC_BUTTON 控件的ID

2.设置变量控制

可直接右键点击控件,选择添加变量,完成后就会在文件中自己生成相应的代码
在类当中会声明成员变量

CButton m_btn1;

在cpp文件中会添加ID的对应关系

void CinterfaceDlg::DoDataExchange(CDataExchange* pDX)
{CDialogEx::DoDataExchange(pDX);DDX_Control(pDX, IDC_BUTTON, m_btn1);
}

后面就可以进行操作了

二.按键的各操作

1.设置按键文字

  • 可以右键按键,在属性中找到 Caption,输入按键上要显示的内容就可以了

有时候显示出来是好多?问号,需要在将整个窗口界面的语言设置为中午简体(在资源视图Dialog下找到含按键的视图,右键属性最后一项进行设置)

  • 用下面代码进行设置
m_btn1.SetWindowText("按键");
GetDlgItem(IDC_BUTTON)->SetWindowText("按键");

2.设置大小和位置

设置大小和位置可以用鼠标在窗口界面拖拉的方式操作,也可以通过下面函数操作

m_btn.SetWindowPos(NULL, 0, 0, 100, 80, SWP_SHOWWINDW);
GetDlgItem(IDC_BUTTON)->SetWindowPos(NULL, 0, 0, 100, 80, SWP_SHOWWINDW);

SetWindowPos函数之前有说过,2,3参数设置位置,4,5参数设置大小 SetWindowPos函数也可以操作

不明白可以看这篇:MFC组件大小设置

3.设置按键使能

可以控制按键可不可以被按下

//不能按下
m_btn1.EnableWindow(FALSE);
GetDlgItem(IDC_BUTTON)->EnableWindow(FALSE);//可以进行操作
m_btn1.EnableWindow(TRUE);
GetDlgItem(IDC_BUTTON)->EnableWindow(TRUE);

4.设置按键隐藏和显示

//隐藏
GetDlgItem(IDC_BUTTON)->ShowWindow(SW_HIDE);
//显示
GetDlgItem(IDC_BUTTON)->ShowWindow(SW_SHOW);

5.按键回调函数

在界面视图中,左键双击按键,就会生成相应的按键回调函数,当软件运行按键被按下就会执行回调函数
具体生成了如下代码

  • 在窗口类中添加了成员函数
public:afx_msg void OnBnClickedButton();
  • 在cpp文件中创建消息映射
BEGIN_MESSAGE_MAP(CinterfaceDlg, CDialogExON_BN_CLICKED(IDC_BUTTON, &CinterfaceDlg::OnBnClickedButton)
END_MESSAGE_MAP()
  • cpp中添加回调函数的实现
void CinterfaceDlg::OnBnClickedButton()
{// TODO: 在此添加控件通知处理程序代码
}

MFC之Button按键控件相关推荐

  1. MFC中的edit控件

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

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

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

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

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

  4. VC MFC列表视图(CListCtrl)控件

    VC MFC列表视图(CListCtrl)控件 列表视图控件 图标风格 CListCtrl类里要了解的函数 SetImageList为列表控件关联一个图像列表 InsertItem插入一项 GetSe ...

  5. mfc调取摄像头显示并截图_用OpenCV在MFC Dialog中Picture控件上显示摄像头采集实时视频...

    OpenCV之所以能在MFC Dialog的Picture控件上绘图,全靠了CvvImage::DrawToHDC()方法.这就是下文为出现CvvImage和HDC的原因.下面是具体过程,用OpenC ...

  6. VC6.0 MFC 列表框 列表控件 添加 修改 删除

    VC6.0 MFC 列表框 列表控件 添加 修改 删除 写在前面:列表框是很常用,并且很重要的一个控件,那么接下来,就跟随我的脚步,去探索它的奥秘吧! 一.未卜先知 1.编译运行后,点击"学 ...

  7. MFC笔记2(控件位置调整)

    1.根据计算,使用GetClientRect(& ...)就可以调整好 2.遇到了OK和Cancel按钮通过GetDlgItem(ID..)找不到id资源号的情况,最后通过给控件绑定控件变量到 ...

  8. MFC工程使用flash控件

    利用flash可以作出很漂亮的动画,想不想让自己的程序也有这样漂亮的界面呢?^_^,其实,要做到这点也不难.在这里将介绍怎样把falsh制作的界面嵌入到自己的程序中,并让flash动画和自己的程序进行 ...

  9. MFC如何调用Flash控件

    新项目中需要在mfc框架中播放swf,因此决定使用flash控件: 第一步:在本机安装flash10 Flash activex控件一般安装在用户系统目录下:C:\WINDOWS\system32\M ...

最新文章

  1. Open×××的Linux内核版,鬼魅的残缺 part I:The PROTOCOL
  2. 为MyEclipse加入自己定义凝视
  3. 显示日历的指令:cal
  4. php要懂函数吗,九个你需要知道的PHP函数和功能
  5. 解码Core ML YOLO对象检测器(二)
  6. react native在static中使用this方法
  7. Linux kmalloc/kfree 源码解读
  8. Java 线程 fork join 是什么 怎么用
  9. linux centos目录结构(一)
  10. 局域网带宽控制解决方案-P2P终结者使用详解
  11. keil5安装教程及下载
  12. 实验三 高速公路收费站双收费口仿真
  13. Object类的常用方法
  14. 【Go】用 Go 访问 Redis
  15. windows下通过关键字批量删除远程k8s下deployment及pods
  16. LeetCode 518 Coin Change 2 (python)
  17. PostgreSQL 15 preview -:你了解PostgreSQL GUC 参数吗?
  18. “/”与“\”以及“//”与“\\”之间的区别 (转)
  19. HTTP协议格式以及Fiddler用法
  20. HFirst解读和复现心得

热门文章

  1. 串口 Hex发送 字节型 十六进制 转换
  2. Nginx服务之监控模块vts
  3. 西北大学计算机博士好考吗,西北大学全日制博士学费和毕业要求 - 考博 - 小木虫 - 学术 科研 互动社区...
  4. kibana 修改Ico图标
  5. ArcMap|批量按掩膜提取(模型构建器)
  6. 霍尼韦尔携手伍德集团通过互联工厂技术改进炼化工艺
  7. 关于常见的嵌入式开发IDE的选择
  8. KEIL 中芯片库文件定义的常量地址数字后面U的含义
  9. 移动App常见测试范围
  10. python设计app_基于Python的电商导购APP设计与实现- CNKI