在MFC主窗口添加按钮和消息响应 20C

我希望能在mfc主窗口上添加按钮和其详细响应,按钮载入icon位图,注意不是在对话框和工具栏上,希望能给出详细的例子

0

2个回答

不知道你的主窗口是什么,如果是sdi/mdi应用程序,最简单的是用向导创建程序,最后一部,让你的view从CFormView继承。
这样会产生一个对话框资源,你直接往里面摆控件,就可以加载在界面上了。
至于按钮插入位图,可以通过重绘实现。

2
fubo499970465
fubo499970465 我的就是mdi,到底怎么做能不能具体一点,我是个新手,你这么说我还是不懂
4 年多之前 回复

mfc主窗口指的是窗体上还是主客户区,后者直接按照一楼的做也是可以的,要是在主窗体上添加按钮,尝试在CMainFrameWnd中动态添加按钮对象,并调整位置,再响应其命令即可。

0
fubo499970465
fubo499970465 我是个新手不是很懂,能不能给出个具体的例子,要怎么动态添加按钮,我需要具体的步骤
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
MFC 多个窗口消息共享同一个消息处理函数demo
VC MFC 多窗口消息共享同一个消息处理函数。
MFC创建自定义窗口以及实现窗口自定义消息的响应
本文基于Visual Studio 2013的单文本对话框创建自定义窗口,在此基础上实现窗口类的绘图和窗口自定义消息响应函数。 1 窗口的创建 创建一个完整的窗口,需要经过下面几个操作步骤: 1.设计一个窗口类 2.注册窗口类 3.创建窗口 4.显示及更新窗口 下面将分四个小节分别介绍上述四个过程。 1.1 设计一个窗口类 在创建一个窗口前,也必须对该类型的窗口进行设计,指定窗口的特征。窗口...
MFC:关于CMFCToolBar派生类的工具栏按钮事件响应
MFC:关于CMFCToolBar派生类的工具栏按钮响应问题 问题描述: 最近在写MFC工具栏,遇到了CMFCToolBar的派生类无法响应工具栏按钮事件的问题,代码如下图: 网上的答案都是在mainfrm里写响应函数,查找不到较好的解决方法, ...
MFC多个对话框编程中,给子对话框中添加按钮控件并左键单击后(有消息响应函数)没有任何反应
最近在使用vs2012学习MFC多个对话框编程的过程中,遇见了一个问题:点击子对话框中的按钮没有触发消息响应函数,这个问题我曾在CSDN中发帖求助过,链接为:https://bbs.csdn.net/topics/392420801,这里面有我的创建过程,这里不再赘述。 关于如何解决这个问题,我尝试过很多可能性: 1.网上有人说是对话框属性设置的问题,Disabled要设置为false,Cli...
MFC为控件添加消息响应函数(事件)
前言:VS利用向导添加成员变量时可能会遇到添加不了某个导入类的成员变量,就需要在代码里手动添加。 1、右键控件属性,修改控件ID ——>打开Resource.h,修改控件ID为新修改的ID(保持资源ID一致) #define IDC_WEB                         6 2、在头文件添加类成员(变量) ——>CButtonST m_btnWeb;
MFC---动态生成任意数量的控件并添加消息响应
一、动态生成任意数量的控件以Button为例: DWORD bn_dwStyle = WS_CHILD | WS_VISIBLE | WS_TABSTOP | BS_PUSHBUTTON | BS_BITMAP;//按钮风格、可贴图风格 for (int i = 0; i < ButtonCount; i++) { //这是动态创建Move to Pos1 Button处 CBu...
MFC创建嵌入式对话框,实现切换不同的对话框在主对话框指定位置
本例子以两个子对话框为例,点击两个按钮,分别显示不同的对话框内容。 1、新增两个按钮,分别为打开对话框1和打开对话框2; 2、新增对话框1,ID为IDD_DIALOG1,修改属性中,style为child, Border为none;双击确定,生成CDialog1类,继承CDialog类; 3、新增对话框2,ID为IDD_DIALOG2,修改属性中,style为child, Border为no
mfc 主窗口 缩小 放大 关闭 按钮
确保窗口创建时style如下:含有 WS_SYSMENU 就行。效果:
MFC的消息响应函数
typedef struct  { UINT nMessage; UINT nCode; UINT nID; UINT nLastID; UINT nSig; int * p; }TEST; const TEST* AFXAPI MyAfxFindMessageEntry(const TEST* lpEntry, UINT nMsg, UINT nCode, UINT nID) { ASSERT(...
vs2010MFC框架下,点击按钮弹出窗口,在子窗口中输入值,将这个值向主窗口传递
博主刚开始接触MFC,前几天遇到这个问题,本想通过全局变量的方法,但没有成功,在网上查阅过一些资料后,自己摸索的解决方法。如有问题和错误可直接在下方评论。 1.先插入一个对话框,如下图所示的界面,右键点击Dialog,选择插入Dialog(我这里IDD_DIALOG是新插入的) 2.如下所示的界面中(控件为自己添加),右键点击窗口,选择添加类,弹出下面的对话框,写入想添加的类名(我这里写的...
MFC Toolbar 工具栏按钮添加消息响应
工具栏按钮消息响应需要的是对应按钮的命令ID。对于动态方式创建的工具栏,其按钮的命令ID在类向导ID列表中是找不到的,只能找到图标的ID。按下述步骤不能添加事件响应。(1)VS2010 打开类向导,选择“Message Maps”选项卡,在“Class name”列表框选择创建了工具栏的对话框类,在“Object Ids”列表中选择工具栏按钮ID,在“Messages”列表中选择“COMMAND”...
MFC父窗口中加入一个子窗口
参考博客: MFC 在父对话框中内嵌子对话框 MFC实现子对话框间切换 具体操作 新建对话子窗口IDD_SUB_DEPLOY 1)、“Style”选择“Child”;中文版“样式”选择“下层”。 2)、“Border”为“None”;中文版“边框”选择“无”。 父窗口头文件添加成员变量 //调用子窗口 CRect m_deployRect;//窗口位置 ...
MFC关于自定义消息(线程给主窗口发消息)(主窗口给线程发消息)实例
前言 老听公司的老哥们说MFC基于消息机制什么的巴拉巴拉一大堆,实际上自己并没有真真用过,每次看讲解什么的也是一知半懂,像我这种半路出家的,不遇到实际问题根本就搞不懂.由于目前做到公司的项目,按照需求,需要用到消息机制,索性就一次搞个明白 我理解的信号就是当线程或主线程执行完某一步,需要把当前执行的结果反馈给主线程或线程,这时候通过一个消息符号(自定义),该消息符号约定了具体做什么(接收到该信...
MFC button双击事件响应
很多新手都不知道如何响应消息 特此奉上,请大家学习,资源里面有图片,指导操作步骤!
MFC 在子线程中关闭主线程窗口
不能直接调用 OnClose()采用消息发送:dlg->PostMessage(WM_CLOSE); 
解决MFC程序运行中,点击主框架关闭窗口按钮之后,窗口是隐藏掉了,但是进程无法退出的问题
问题见标题 解决该问题的方法,直接使用exit(0)函数关闭程序,还有的说法是这样做程序没法回收资源,还未见后果如何,但是这个方法是立竿见影的。 ...
MFC中如何使用子控件向父控件发送自定义消息
MFC中如何使用子控件向父控件发送自定义消息
mfc子窗口响应回车键和esc键 窗口消失
原因是 回车键和esc键 默认消息处理 分别是 onok 和oncancel  可以屏蔽onok和oncancel  或者重载pretranslatemessage 中截取回车消息和esc消息 if(WM_KEYDOWN == pMsg->message)   WM_ESCAPE 和WM_RETURN  分别是esc和回车键的消息 ...
MFC自定义消息响应
(1)定义一个消息响应宏,这个消息宏需要可以被触发消息的地方访问到。例如: 在一个都可以访问到的头文件中加上消息宏#define WM_MYMESSAGE  WM_USER+100 (2)在消息响应类的头文件中声明消息响应函数 afx_msg LRESULT OnMyMssage(WPARAM w,LPARAM l); //定义为public函数 (3)在消息响应的.cpp文件中加入 O...
MFC 实现在主程序窗口之前弹出用户登录界面
一、登录界面设计 首先在新建一个对话框,然后为该对话框新建一个基于对话框的类,在建立用户登录界面的时候,在添加两个示例编辑框的同时,添加变量(CString 类型)m_strUser和m_strPassword。 二、添加登录验证代码 在主程序的App类的InitInstance函数体内的最前面加上如下代码(这里为BOOL CGeoDemoApp::InitInstance()函数): ...
MFC中子控件响应键盘消息
在MFC的窗口和控件编程时,经常需要使某个控件主动响应用户的键盘消息,哪怕该控件并没有输入功能。 为方便说明,假设你的主窗口为A,需要相应键盘消息的子控件为B为一个图片控件(Picture control)。 此时,你需要做如下工作: 1. 派生一个自己的类作为B的类 Picture control默认的ID是IDC_STATIC,这种ID是不能定义变量的,因此把该ID改成别的名字,如I
MFC做界面切换
1:首先创建一个MFC的对话框工程,并拉几个按钮(本文中假设3个,Button1(Photo_Test),Button2(Video_Test),Button3(Camera_Test))放在对话框上。(主界面情况)2:往工程里添加3个类(CTestC,CTestP,CTestV),基类是CDialog. 3:在工程头文件(XXXXDlg.h)中包含每个子对话框类的头文件#include  "Te...
在ribbon的主窗口添加dialog
1 在。h文件中先把Cview换成CBGPFormView. 2  在。cpp文件中添加: CBCGPFormView(CWindowsDemo_MFCView::IDD),同时把cview换成cbgpformview 3  把第一张图中ID所对应的属性中的style换成child 这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本...
MFC中通过子窗口关闭父窗口以实现退出程序
这应该是个老问题,我来稍微总结下:(我刚刚接触Windows编程希望大家多多指点) 1.上来来个最鲁莽的. 直接通过exit(0),ExitProcess(0); //不好的用法 猜测资源得不到回收 原因如下: http://blog.csdn.net/jiang1013nan/article/details/4831020 2.向父窗口发送WM_CLOSE消息,
定制MFC多文档窗口的主框架背景
问题描述: 如上图所示,这是用MFC创建的多文档程序,可以看到主框架的背景区是灰色的,如果我要在这块区域贴一张图片,应该怎么办呢?最容易想到的是在CMainFrame的OnPaint中对背景进行更改,代码如下: (为了简便,这里改为设置窗口背景色,其实这和贴图的原理差不多) void CMainFrame::OnPaint() { CPaintDC dc(thi
MFC设置主界面背景图片、设置子窗体背景图片
一.设置主界面背景图片 1.首先准备两张Windows24位BMP(后缀为.bmp)的图片,找到创建的工程目录下的res文件夹,将图片复制粘贴到res文件夹下。 这里以美丽的精灵公主–丽芙·泰勒为背景。 这里以Photoshop为工具将普通图片改为Windows下的24位图片。 (1)打开图像->图像大小,调整图像至合适大小。 (2)打开文件->存储为,将图片存储为.bmp的图...
MFC添加菜单栏实现页面(窗口到窗口)的跳转(基于VS2013)
MFC添加菜单栏实现页面(窗口到窗口)的跳转(基于VS2013)
MFC 用进度条在状态栏显示某个按钮响应函数的过程,并用多线程实时更新
因为写的一个按钮的响应函数在数据量大的情况下会出现未响应的情况,所以为了让人直观的可以觉得程序仍然还在运行,并实时显示函数的运行状态。 (1)首先MFC工程中新建一个类,这个类不是MFC类而是Generic Class,在类视图下,添加一个新类,并选择Generic Class,将这个类命名为CProgressStatusBar, 设置其基类为CStatusBar (2)在资源视图,
MFC中动态创建button及添加响应事件
MFC中动态创建button及添加响应的事件,主要步骤如下: 1、在头文件(**Dlg.h)中添加一个CButton类型, 例如:CButton btn; 2、在(**Dlg.cpp)的OnInitDialog中创建并显示button: btn.Create(“按钮”, WS_CHILD | BS_DEFPUSHBUTTON, CRect(10, 10, 100, 100), this, ...
C++MFC程序窗口无法显示最大最小化按钮问题
MFC程序开发时,经常会出现没有最大和最小化按钮的问题,解决的办法是,在窗口文件右击-属性-System Menu,设置为true。
mfc按钮响应回车键
在按钮属性中,将Default Button属性设置为True即可对应代码中的BS_DEFPUSHBUTTON属性用代码添加该属性时可以使用ModifyStyle()函数
MFC组合框使用方法
MFC中的组合框的使用方法,主要是添加控件后如何进行消息响应的处理
MFC动态创建按钮
MFC动态创建按钮,添加了消息响应,并可以改变按钮字体。
MFC中如何将Menu资源添加到主对话框中
还是写个博客备忘吧,自己这个脑子哦。 在主对话框**Dlg.cpp中,找到OnInitDialog()这个函数,在 “// TODO: 在此添加额外的初始化代码”下面,添加这样的三行代码。 // TODO: 在此添加额外的初始化代码 CMenu m_Menu; m_Menu.LoadMenu(IDR_MENU1); SetMenu(&m_Menu); 前提是你...
MFC编程:弹出窗口,并利用edit读数据并传递数据给主窗口(VS2017)
1.创建项目(选择单个文档,其他默认)   2.打开类视图和资源视图 3.打开资源视图中的mainframe 3.添加菜单项test,设置属性中popup为false 4.右击test菜单项,选择添加事件处理程序,选择与主窗口同名的类 5.在资源视图中右击Dialog选择插入Dialog 6.在左侧工具箱找到edit control,拖入窗口   注意其I...
MFC给窗口上的按钮控件添加快捷键,MFC键盘消息处理
首先在类视图中找到要响应的窗口类,然后右键-->属性-->重写中找到PreTranslateMessage,如下图所示:     接着,在PreTranslateMessage()函数中判断键值,并响应事件: BOOL CSerialPortDlg::PreTranslateMessage(MSG* pMsg) { //先判断是否是键盘输入消息 if (pMsg-&g...
MFC对话框常用消息处理程序
CWnd::OnCtlColor 要在绘制子控件时,框架将调用此成员函数。 CWnd::OnDestroy 框架调用此成员函数以告知CWnd对象被销毁。 CWnd::DoDataExchange 由框架调用以交换和验证对话框数据。 OnCancel 当单击“取消”按钮时调用。 OnInitDialog 重写以增加对话框初始化 ...
如何修改MFC主窗口的大小
修改窗口尺寸,可以使用SetWindowPos() 函数,该函数放置于APP中InitInstance下,m_pMainWnd->ShowWindow(SW_SHOW);这一句的前面。 HWND hwnd = AfxGetApp()->GetMainWnd()->GetSafeHwnd(); //获取主窗口句柄 SetWindowPos(hwnd, HWND_NOTOPMOST,
mfc 窗口中嵌入窗口
1、 创建资源2、设置属性(1)style: Child(2)bounder:None3、添加如下代码:参考:http://blog.sina.com.cn/s/blog_86ec70170102vk0i.html
MFC简单的界面跳转
以文档的形式简述了怎样实现MFC一个简单的界面跳转,当跳转时不关闭先前的界面。文档中添加了点图片和代码,主要是针对有点MFC基础的。