1.菜单注册
LRESULT ViewForm::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case WM_USER: //自己写的标志位,详情请看上一篇托盘的那一篇
{
if (WM_RBUTTONDOWN == lParam)
{
MenuWnd* pMenu = new MenuWnd();
pMenu->Create(m_hWnd, L"menu", WS_POPUP, WS_EX_TOOLWINDOW | WS_EX_TOPMOST, true);
pMenu->CMenuWindow();
pMenu->ShowWindow();
}
}
break;
default:
return __super::HandleMessage(uMsg, wParam, lParam);
}
}
2.新建一个菜单的文件 分别为.h和。cpp
//#include "stdafx.h"
#ifndef _MENUWND_H__
#define _MENUWND_H__
//#include "win_impl_base.hpp"
#include <Windows.h>
class MenuWnd : public ui::WindowImplBase
{
public:
MenuWnd();
~MenuWnd();
POINT pt;
void CMenuWindow();
virtual std::wstring GetSkinFolder() override;
virtual std::wstring GetSkinFile() override;
virtual std::wstring GetWindowClassName() const override;
static const std::wstring ClassName;
virtual void InitWindow() override;
virtual void Close(UINT nRet = IDOK) override;
virtual LRESULT HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam);
private:
ui::Button* btn_set_;
ui::Button* btn_feedback_;
ui::Button