各位高手帮我看看我先定义了 CButton btn;
CImageList m_imgList;
CToolBarCtrl m_ToolBar;然后
m_imgList.Create(32,32,ILC_COLOR32|ILC_MASK,0,0);
m_ToolBar.EnableAutomation();
m_ToolBar.Create(WS_CHILD|WS_VISIBLE,CRect(0,0,0,0),this,IDR_TOOLBAR1);
UINT Resource[ARRAY_MAX]={IDI_ICON1,IDI_ICON2,IDI_ICON3,IDI_ICON4,IDI_ICON5};
int i;
TBBUTTON button[ARRAY_MAX];
for(i=0;i<ARRAY_MAX;i++)
{
m_imgList.Add(::LoadIcon(::AfxGetResourceHandle(),MAKEINTRESOURCE(Resource[i])));
}
m_ToolBar.SetImageList(&m_imgList);
for(i=0;i<ARRAY_MAX;i++)
{
button[i].dwData=0;
button[i].fsState=TBSTATE_ENABLED;
button[i].iBitmap = i;
}
m_ToolBar.AddButtons(ARRAY_MAX,button);
TBBUTTON Wrap;
Wrap.dwData = 0;
Wrap.fsState = TBSTATE_ENABLED;
Wrap.fsStyle = TBSTYLE_SEP;
m_ToolBar.InsertButton(3,&Wrap);
m_ToolBar.AutoSize();
m_ToolBar.SetStyle(TBSTYLE_FLAT|CCS_TOP);现在我要响应IDI_ICON1按键消息
在.h里 afx_msg void OnIcon1();
在.cpp里 ON_COMMAND(IDI_ICON1,OnIcon1)
void CSfDlg::OnIcon1()
{
AfxMessageBox("adfa");
}
但是执行后 工具栏创建成功了,按IDI_ICON1不响应
各位高手帮忙看看是什么原因
CImageList m_imgList;
CToolBarCtrl m_ToolBar;然后
m_imgList.Create(32,32,ILC_COLOR32|ILC_MASK,0,0);
m_ToolBar.EnableAutomation();
m_ToolBar.Create(WS_CHILD|WS_VISIBLE,CRect(0,0,0,0),this,IDR_TOOLBAR1);
UINT Resource[ARRAY_MAX]={IDI_ICON1,IDI_ICON2,IDI_ICON3,IDI_ICON4,IDI_ICON5};
int i;
TBBUTTON button[ARRAY_MAX];
for(i=0;i<ARRAY_MAX;i++)
{
m_imgList.Add(::LoadIcon(::AfxGetResourceHandle(),MAKEINTRESOURCE(Resource[i])));
}
m_ToolBar.SetImageList(&m_imgList);
for(i=0;i<ARRAY_MAX;i++)
{
button[i].dwData=0;
button[i].fsState=TBSTATE_ENABLED;
button[i].iBitmap = i;
}
m_ToolBar.AddButtons(ARRAY_MAX,button);
TBBUTTON Wrap;
Wrap.dwData = 0;
Wrap.fsState = TBSTATE_ENABLED;
Wrap.fsStyle = TBSTYLE_SEP;
m_ToolBar.InsertButton(3,&Wrap);
m_ToolBar.AutoSize();
m_ToolBar.SetStyle(TBSTYLE_FLAT|CCS_TOP);现在我要响应IDI_ICON1按键消息
在.h里 afx_msg void OnIcon1();
在.cpp里 ON_COMMAND(IDI_ICON1,OnIcon1)
void CSfDlg::OnIcon1()
{
AfxMessageBox("adfa");
}
但是执行后 工具栏创建成功了,按IDI_ICON1不响应
各位高手帮忙看看是什么原因
解决方案 »
- 求A、B两点之间所有的点
- 怎么样使编辑框只能接受中文???
- 民币2000请高手修改2个程序,要求非常熟悉WINDOWS内核编程
- COM组件在释放时异常
- 关于CImageList的简单问题
- 请教网页共同浏览的问题
- 急!沾边就给分,不够再发(反正三四千呢)哪有关于图像处理的源码(剪功,粘贴,缩放,马塞克等)
- 如何调试调用的DLL中的函数?DLL的源代码有,但是调用程序直接调用的是编译完成的DLL,没有办法到源代码中的函数中去。
- 为什么有的类有某消息,而 有的mfc类没有该消息?
- 谁能拉我一把?指个方向
- 感谢所有的朋友们!
- MFC 到底怎末了??调了一下午,疯掉了。。静态文本都创建不出来。。。。。。。。。
{
button[i].dwData=0;
button[i].fsState=TBSTATE_ENABLED;
button[i].iBitmap = i;
button[i].idCommand = ???;
}
button[i].idCommand = 3325 + i;//这个值你自己定义,我随便写的3325然后才ON_COMMAND(3325 + 0,OnIcon1)
ON_COMMAND(3325 + 1,OnIcon2)
加上 还是不能响应消息
ON_COMMAND(IDI_ICON1+0,OnIcon1) button[i].idCommand=IDI_ICON1+i;还是不行啊
for(i=0;i <ARRAY_MAX;i++)
{
button[i].dwData=0;
button[i].fsState=TBSTATE_ENABLED;
button[i].iBitmap = i;
}
改为:
for(i=0;i <ARRAY_MAX;i++)
{
button[i].dwData=0;
button[i].fsState=TBSTATE_ENABLED;
button[i].iBitmap = i;
button[i].fsStyle=TBSTYLE_BUTTON; // 添加此语
}
button[0].idCommand = IDI_ICON1; // 绑定ID
button[1].idCommand = IDI_ICON2;
button[2].idCommand = IDI_ICON3;
button[3].idCommand = IDI_ICON4;
button[4].idCommand = IDI_ICON5; vs2005试验通过。