我试着按照我能找到的所有例子,但是我错过了一些东西,所以我会把所有的部分放在这里让其他人查看。仅供参考 - 我正在修改MFC Feature Pack示例Slider。
如果我选择按钮(单击),我会看到图层按钮(不是字符串或向下箭头)我看到按下动作并使用按钮的ID进入OnLayers()函数。我几乎看起来像ReplaceButton()什么也没做。
有什么想法吗?
由于
对于工具栏,我添加了ID_LAYERS_1
public static String loadResource(String image){
String url = "com/SnakeGame/Images/"+image;
return url;
}
我的菜单是
IDR_MAINFRAME TOOLBAR 16, 15
BEGIN
BUTTON ID_FILE_NEW
BUTTON ID_FILE_OPEN
BUTTON ID_FILE_SAVE
SEPARATOR
BUTTON ID_SLIDER
SEPARATOR
BUTTON ID_EDIT_CUT
BUTTON ID_EDIT_COPY
BUTTON ID_EDIT_PASTE
SEPARATOR
BUTTON ID_FILE_PRINT
SEPARATOR
BUTTON ID_APP_ABOUT
SEPARATOR
BUTTON ID_LAYERS_1
END
和代码
IDR_LAYERS MENU
BEGIN
POPUP "Layers"
BEGIN
MENUITEM "0", ID_LAYERS_1
MENUITEM "1", ID_LAYERS_2
MENUITEM "2", ID_LAYERS_3
END
END
答案 0 :(得分:0)
我认为你是以错误的方式使用它。试试这个:
CMenu menu;
VERIFY(menu.LoadMenu(IDR_LAYERS));
CString str;
str.LoadString (IDS_TEXT_OF_YOUR BUTTON);
m_wndToolBar.ReplaceButton (ID_LAYERS1,
CMFCToolBarMenuButton ( (UINT)-1, menu,
GetCmdMgr ()->GetCmdImage (ID_LAYERS1), str,TRUE));