自定义工具栏按钮事件如何相应.

xuegao007 2010-06-23 04:43:21
CMytool:public toolbar;
在CmyTool上放了几个按钮ID1, ID2;
如何在CMyTool内,响应单击ID1.
我用
ON_COMMAND(ID1, &f1);//不可以实现.
...全文
89 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuegao007 2010-06-24
  • 打赏
  • 举报
回复
这个代码我最终要封装到DLL中的.请大家帮我看看哪出问题了.
xuegao007 2010-06-24
  • 打赏
  • 举报
回复
代码如下:
//.h
#pragma once


// CCustomMenuBar

class AFX_EXT_CLASS CCustomMenuBar : public CToolBar
{
DECLARE_DYNAMIC(CCustomMenuBar)

public:
CCustomMenuBar();
virtual ~CCustomMenuBar();

protected:
DECLARE_MESSAGE_MAP()
public:
bool CreateMenuBar( CWnd* pParentWnd );
public:
void fMenu1();
};

//.CPP
// CustomMenuBar.cpp : 实现文件
//

#include "stdafx.h"
#include "CustomMenuBar.h"


// CCustomMenuBar

IMPLEMENT_DYNAMIC(CCustomMenuBar, CToolBar)

CCustomMenuBar::CCustomMenuBar()
{
}

CCustomMenuBar::~CCustomMenuBar()
{
}

#define MENU_ID1 10
#define MENU_ID2 11
#define MENU_ID3 12
#define MENU_ID4 13
BEGIN_MESSAGE_MAP(CCustomMenuBar, CToolBar)
ON_COMMAND(10, &fMenu1)
END_MESSAGE_MAP()

bool CCustomMenuBar::CreateMenuBar( CWnd* pParentWnd )
{
if (pParentWnd == NULL || !CreateEx(pParentWnd, TBSTYLE_FLAT, WS_CHILD|WS_VISIBLE|CBRS_TOP|CBRS_GRIPPER|CBRS_TOOLTIPS|CBRS_FLYBY, CRect(0,0,0,0)) )
{
TRACE("\nCreateMenuBar return false");
return false;
}

SetWindowText( _T("MenuBar ") );
SetButtons( NULL, 8 );
SetSizes( CSize(40, 24), CSize(0, 0) );
SetHeight( 24 );
SetButtonText( 0, _T("Menu1") );
SetButtonText( 1, _T("Menu2") );
SetButtonText( 2, _T("Menu3") );
SetButtonText( 3, _T("Menu4") );
SetButtonInfo( 0, MENU_ID1, TBBS_AUTOSIZE|TBBS_NOPREFIX, -1 );
SetButtonInfo( 1, MENU_ID2, TBBS_AUTOSIZE|TBBS_NOPREFIX, -1 );
SetButtonInfo( 2, MENU_ID3, TBBS_AUTOSIZE|TBBS_NOPREFIX, -1 );
SetButtonInfo( 3, MENU_ID4, TBBS_AUTOSIZE|TBBS_NOPREFIX, -1 );

EnableDocking( CBRS_ALIGN_TOP );
return true;
}

void CCustomMenuBar::fMenu1()
{
AfxMessageBox( _T("Menu1") );
}
BloodFighter 2010-06-24
  • 打赏
  • 举报
回复
在CMyTool内部处理OnCommand
liyelun 2010-06-24
  • 打赏
  • 举报
回复
不懂帮顶
xuegao007 2010-06-24
  • 打赏
  • 举报
回复
自己搞定!
xuegao007 2010-06-23
  • 打赏
  • 举报
回复
楼上你好,
我要在CMyTool内响应这个事件.另外,CMyTool在我的Dll内.
悟迟 2010-06-23
  • 打赏
  • 举报
回复
[Quote=引用楼主 xuegao007 的回复:]
ON_COMMAND(ID1, &f1);//不可以实现.
[/Quote]为什么不可以实现
wuhuwy 2010-06-23
  • 打赏
  • 举报
回复
建议你做一个相同Id的菜单,在菜单的响应函数里来实现,这样也就能响应工具栏按钮了
项目名称:[精仿]360安全卫士-10.30更新(CSkin Demo) 界面库版本号:10.30 最新版本 下载内容: 精仿360安全卫士源码一份, 可引用至工具箱最新版CSkin.dll一份 实现功能: 1.发光标题。 2.直角边框和阴影。 3.360安全卫士主界面模仿。 4.多系统支持,不需要win8系统,即可实现win8风格的360。 5.自定义控件的美化使用。 界面库更新文档: CC2013-10.30 1.由于SkinForm名字太多人使用,界面库命名正式改为CSkin.dll,官网www.cskin.net。 2.SkinTabControl标签中添加菜单箭头,可点击展开菜单。 3.SkinTabControl添加标签关闭按钮。 4.修复部分中文乱码问题。 5.优化好友列表右键菜单。 6.将窗体自定义系统按钮改为集合模式,可添加无数个自定义系统按钮自定义系统按钮事件中可以 e.参数 来判断。 7.增加360安全卫士-DEMO案例。 8.增加SkinAnimatorImg控件,用于支持位图动画的播放。如360的动态logo。 9.各种细节BUG优化。 CC2013-10.11 1.添加SkinTabControlEx,加入更加自定义的美化属性和动画效果。 2.添加SkinAnimator,通用动画控件。 3.添加Html编辑器控件 4.修复SkinButton图标和文本相对位置的BUG CC2013-9.26 1.优化好友列表CPU占用 2.好友列表加入好友登录平台属性:安卓 苹果 WEBQQ PC 3.优化标题绘制模式,新添标题绘制模式属性。 4.新添标题偏移度属性。 5.加入圆形进度条控件:ProgressIndicator。 CC2013-9.5.2 1.优化截图控件,截图工具栏加入新功能。 2.解决个人信息卡和天气窗体显示后不会消失的问题。 3.各种细节BUG优化。 CC2013-9.5.1 1.解决贴边左右隐藏的BUG。 2.解决窗体点击事件不能触发的问题。 3.优化SkinButton继承父容器背景色的代码。 4.解决SkinButton异常错误。 CC2013-9.3 1.好友列表右键菜单没反应问题。 2.新增美化控件SkinDatagridview。 3.密码软件盘回删不了文字问题。 4.双击窗体最大化,最大化后再双击恢复原大小,(win7)。 5.部分细节调优。 小编:下载不要分,DEMO教你如何熟练使用CSkin界面库美化自己的窗体。 友情链接: http://bbs.csdn.net/topics/390510544 (精仿QQ2013局域通讯) http://download.csdn.net/detail/lyx_520/5710799 (C#实现Win8窗体)
jQuery Mobile快速入门245页完整版.pdf + 所有源码.7z 24H内删除,作者写书非常不容易,如觉得好,请购买纸质书籍,易读易懂!藏书不如读书,读书请买好书,这是好书。 第1章 jquery mobile简介  1.1 通用访问  1.2 跨所有移动平台的统一  1.3 简化的标记驱动的开发  1.4 渐进式增强  1.5 响应式设计  1.6 可主题化的设计  1.7 可访问性  1.8 总结 第2章 jquery mobile入门  2.1 jquery mobile页面模板  2.2 多页面模板  2.2.1 设置内部页面的页面标题  2.2.2 单页面文档与多页面文档的对比  2.3 ajax驱动的导航  2.3.1 $.mobile.changepage()  2.3.2 用途  2.3.3 参数  2.3.4 配置ajax导航  2.4 转换  2.5 对话框  2.5.1 链接与页面配置的对比  2.5.2 操作表  2.5.3 对话框ux指南  2.6 带有媒体查询的响应式布局  2.7 总结 第3章 使用页眉、工具栏和标签栏来导航  3.1 页眉栏  3.1.1 页眉基础知识  3.1.2 页眉结构  3.1.3 页眉定位  3.1.4 页眉按钮  3.1.5 既有文本又有图标的按钮  3.1.6 只带有图标的按钮  3.1.7 带有分段控件的页眉栏  3.1.8 修复被截断的页眉或页脚  3.2 回退按钮  3.3 页脚栏  3.3.1 页脚基础知识  3.3.2 页脚结构  3.3.3 页脚定位  3.3.4 页脚按钮  3.4 工具栏  3.4.1 带有图标的工具栏  3.4.2 带有分段控件的工具栏  3.5 标签栏  3.5.1 带有标准图标的标签栏  3.5.2 永久标签栏  3.5.3 带有自定义图标的标签栏  3.5.4 带有分段控件的标签栏  3.6 总结 第4章 表单元素和按钮  4.1 按钮  4.1.1 链接按钮  4.1.2 表单按钮  4.1.3 图像按钮  4.1.4 使用图标来设计按钮  4.1.5 只带有图标的按钮  4.1.6 按钮定位  4.1.7 带有自定义图标的按钮  4.1.8 分组按钮  4.1.9 主题按钮  4.1.10 动态按钮  4.2 表单元素  4.2.1 表单基础知识  4.2.2 文本输入  4.2.3 选择菜单  4.2.4 单选按钮  4.2.5 复选框  4.2.6 滑动条  4.2.7 开关控件  4.2.8 本地表单元素  4.2.9 mobiscroll日期选择器  4.3 总结 第5章 列表视图  5.1 列表基础知识  5.2 内置列表  5.3 列表分割线  5.4 带有缩略图和图标的列表  5.5 拆分按钮列表  5.6 编号列表  5.7 只读列表  5.8 列表徽章(计数泡)  5.9 使用搜索栏过滤列表  5.10 动态列表  5.10.1 列表选项  5.10.2 列表方法  5.10.3 列表事件  5.11 总结 第6章 使用表格和css渐变来格式化内容  6.1 表格布局  6.1.1 表格模板  6.1.2 两列的表格  6.1.3 带有css增强的三列表格  6.1.4 带有app图标的四列表格  6.1.5 带有emoji图标的五列表格  6.1.6 多行表格  6.1.7 不相等的表格  6.1.8 springboard  6.2 可折叠的内容块  6.3 可折叠的设置  6.4 使用css渐变进行样式化  6.5 总结 第7章 创建可主题化的设计  7.1 主题基础知识  7.2 主题和调色板  7.3 主题默认值  7.4 主题继承  7.5 自定义主题  7.6 themeroller  7.6.1 调色板和全局设置  7.6.2 preview inspector和quickswatch bar  7.6.3 adobe kuler集成  7.6.4 入门  7.7 总结 第8章 jquery mobile api  8.1 配置jquery mobile  8.1.1 自定义脚本的位置  8.1.2 可配置的jquery mobile选项  8.2 方法  8.3 事件  8.3.1 事件概览  8.3.2 触发事件  8.4 属性  8.5 数据属性  8.6 总结 第9章 服务集成策略  9.1 使用restful服务的客户端集成  9.1.1 使用ajax的客户端twitter集成  9.1.2 使用ajax的客户端表单post  9.2 使用mvc的服务器端集成  9.2.1 使用mvc的服务器端表单post  9.2.2 使用mvc的服务器端数据访问  9.2.3

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧