然后完成消息映射,例如CMyIconMenu所做的。在你的窗口类(假设为CMyWindowClass)的继承列表里面添加public CMyContextMenu,在消息映射表中添加CHAIN_MSG_MAP(CMyContextMenu)
接下来只要在需要显示上下文菜单的地方,调用CreatContextMenu(UINT ID_Menu)就可以了。
CShellIcon的使用
首先要把stdafx.h中IE的版本改成5或者6,例如:
#define _WIN32_IE 0x0600
然后加入CString支持,可能每个项目都几乎用到CString,大家不妨直接修改模板文件,让向导直接把CString加进去算了。
从CContextMenu派生一个类来完成菜单映射,例如CMyIconMenu所作的。
以下用模式对话框来演示如何给其加入托盘功能,蓝色的部分为添加的部分。
#pragma once
XwL北方站长站#include "MyIconMenu.h"
XwL北方站长站#include
XwL北方站长站
class CMainDlg : public CDialogImpl, public CShellIcon, IDR_ICONMENU>XwL北方站长站
{XwL北方站长站
public:XwL北方站长站
enum { IDD = IDD_MAINDLG };XwL北方站长站
typedef CShellIcon, IDR_ICONMENU>CMyShellIcon;XwL北方站长站
BEGIN_MSG_MAP(CMainDlg)XwL北方站长站
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)XwL北方站长站
COMMAND_ID_HANDLER(ID_APP_ABOUT, OnAppAbout)XwL北方站长站
COMMAND_ID_HANDLER(IDOK, OnOK)XwL北方站长站
COMMAND_ID_HANDLER(IDCANCEL, OnCancel)XwL北方站长站
CHAIN_MSG_MAP(CMyShellIcon)XwL北方站长站
END_MSG_MAP()XwL北方站长站
LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)XwL北方站长站
{XwL北方站长站
// center the dialog on the screenXwL北方站长站
CenterWindow();XwL北方站长站
// set iconsXwL北方站长站
HICON hIcon = (HICON)::LoadImage(_Module.GetResourceInstance(), MAKEINTRESOURCE(IDR_MAINFRAME), XwL北方站长站
IMAGE_ICON, ::GetSystemMetrics(SM_CXICON), ::GetSystemMetrics(SM_CYICON), LR_DEFAULTCOLOR);XwL北方站长站
SetIcon(hIcon, TRUE);XwL北方站长站
HICON hIconSmall = (HICON)::LoadImage(_Module.GetResourceInstance(), MAKEINTRESOURCE(IDR_MAINFRAME), XwL北方站长站
IMAGE_ICON, ::GetSystemMetrics(SM_CXSMICON), ::GetSystemMetrics(SM_CYSMICON), LR_DEFAULTCOLOR);XwL北方站长站
SetIcon(hIconSmall, FALSE);XwL北方站长站
CreateShellIcon();XwL北方站长站
return TRUE;XwL北方站长站
}XwL北方站长站
……………………XwL北方站长站
}; 在想弹出气泡的时候调用BOOL BalloonToolTips(LPCTSTR info)XwL北方站长站
共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面