按钮怎么添加命令

youjianwanlei 2010-02-05 12:36:40
[code=C/C++][
CImageList m_imagelist;
m_imagelist.Create(32,32,ILC_COLOR24|ILC_MASK,3,0);
m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON1));
m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON2));
m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON3));


UINT arry[10];
for(int i=0;i<3;i++)
{
if(i==3) //第四个按钮为分割条;
arry[i]=ID_SEPARATOR;
else
arry[i]=i+1001;
}
CToolBar m_toolbar
m_toolbar.Create(this);

m_toolbar.SetButtons(arry,3);
m_toolbar.SetButtonText(0,_T("请问我企鹅")); //图片下面添加文字;
m_toolbar.SetButtonText(1,_T("加打"));
m_toolbar.SetButtonText(2,_T("的啊"));
m_toolbar.GetToolBarCtrl().SetButtonWidth(50,70);
m_toolbar.GetToolBarCtrl().SetImageList(&m_imagelist);
m_toolbar.SetSizes(CSize(70,50),CSize(32,32));//设置大小
/code]


现在显示的界面出来了, 但是按钮时灰色的, 不能响应命令。。

请问怎么添加响应命令?????????
...全文
217 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
owlcity 2010-02-10
  • 打赏
  • 举报
回复
m_toolbar.SetButtons(arry,3);

第一个参数就是存你要响应的按钮的id的值,、
比如有ID_NEW 他的value是32771;
有好多个就用数组存起来,
Unit array[3];
array[0]=响应的按钮的id的value值
。。。
。。。
m_toolbar.SetButtons(arry,3);
其实上面的都有,你可能没仔细看。


或者建立一个隐藏的菜单,菜单项的Id和工具栏的Id相同。 当你点工具栏的按钮时也一样响应命令
jianghandaxue 2010-02-07
  • 打赏
  • 举报
回复
你的toolBar的每个按钮都有各自的ID,通过向导加消息函数,或者手动加都行,最好用向导。
嬴政爱天下 2010-02-07
  • 打赏
  • 举报
回复
WM_COMMAND
这个win32 响应按钮按下的常量
不知道你说的是不是这个呢?
MFC我也不会帮不上忙了~!
youjianwanlei 2010-02-05
  • 打赏
  • 举报
回复
typedef struct _TBBUTTON {
int iBitmap; // 按纽在位图中的索引,以0为基数
int idCommand; // 按纽的Command ID,当按纽被按下时将发送此Command ID
BYTE fsState; // 按纽状态
BYTE fsStyle; // 按纽风格
DWORD dwData; // 用户自定义数据
int iString; // 以0为基数的按纽标签字符串的索引
} TBBUTTON;
youjianwanlei 2010-02-05
  • 打赏
  • 举报
回复
TBBUTUON结构
wuhuwy 2010-02-05
  • 打赏
  • 举报
回复
用向导添加响应消息函数吧,手工添加的容易太麻烦容易出错
sjdev 2010-02-05
  • 打赏
  • 举报
回复
相应OnCommand,自己处理吧。
向立天 2010-02-05
  • 打赏
  • 举报
回复
工具条的按钮一般是和菜单项关联的
机制也相仿
如果不连接消息函数就是灰色的
连接消息函数就好了
youjianwanlei 2010-02-05
  • 打赏
  • 举报
回复
知道了, arry[i]=i+1001;SetButtons(arry,3); Specifies the pointer to an array of command Ids. It can be NULL to allocate empty buttons.

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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