📄 20000805017.htm
字号:
<HTML>
<HEAD>
<TITLE>自 画 菜 单</TITLE>
<META content="MSHTML 5.00.2314.1000" name=GENERATOR>
</HEAD>
<BODY aLink=#FF0000 bgColor=#ffffff leftMargin=0 link=#187800 topMargin=0
vLink=#990099>
<div align="center">
<table width="744" border="0" cellspacing="0" cellpadding="0" height="76">
<tr>
<td>
<p class="coffee" align="center"><font size="3"><br>
<b>自 画 菜 单</b></font></p>
<p>
<br>
我们知道,C++Builder没有自画菜单,但可以调用API函数::SetMenuItemInfo()来改变菜单类型,达到自画菜单的目的。下面的例子演示了如何使用自画菜单。当鼠标位于菜单上拾,菜单项将凸出来。(黑体字为添加的代码)
<p>//头文件 <br>
//---------------------------------------------------------------------------
<br>
#ifndef TestMenuH <br>
#define TestMenuH <br>
//---------------------------------------------------------------------------
<br>
#include <Classes.hpp> <br>
#include <Controls.hpp> <br>
#include <StdCtrls.hpp> <br>
#include <Forms.hpp> <br>
#include <Menus.hpp>//---------------------------------------------------------------------------
<br>
class TForm1 : public TForm <br>
{ <br>
__published: // IDE-managed Components <br>
TMainMenu *MainMenu1; <br>
TMenuItem *aaa1; <br>
TMenuItem *aaaaaaaaa1; <br>
TMenuItem *ccc1; <br>
TMenuItem *ddd1; <br>
TMenuItem *eee1; <br>
TMenuItem *ddsds1; <br>
TMenuItem *fcdfsss1; <br>
TMenuItem *dddddddd1; <br>
void __fastcall FormCreate(TObject *Sender); <br>
private: // User declarations
<br>
void __fastcall Modify(TMenuItem *pMenuItem); <br>
protected : <br>
MESSAGE void __fastcall CNMeasureItem(TWMMeasureItem &Msg);//增加响应消息
<br>
MESSAGE void __fastcall CNDrawItem(TWMDrawItem &Msg); <br>
public: // User declarations
<br>
__fastcall TForm1(TComponent* Owner); <br>
BEGIN_MESSAGE_MAP//添加消息映射 <br>
VCL_MESSAGE_HANDLER(WM_MEASUREITEM, TWMMeasureItem, CNMeasureItem);
<br>
VCL_MESSAGE_HANDLER( WM_DRAWITEM, TWMDrawItem, CNDrawItem); <br>
END_MESSAGE_MAP(TForm); <br>
}; <br>
//---------------------------------------------------------------------------
<br>
extern PACKAGE TForm1 *Form1; <br>
//---------------------------------------------------------------------------
<br>
#endif
<p>//实现文件 <br>
//---------------------------------------------------------------------------
<br>
#include <vcl.h> <br>
#pragma hdrstop
<p>
#include "TestMenu.h" <br>
//---------------------------------------------------------------------------
<br>
#pragma package(smart_init) <br>
#pragma resource "*.dfm" <br>
TForm1 *Form1; <br>
//---------------------------------------------------------------------------
<br>
__fastcall TForm1::TForm1(TComponent* Owner) <br>
: TForm(Owner) <br>
{ <br>
} <br>
//---------------------------------------------------------------------------
<p>
void __fastcall TForm1::Modify(TMenuItem *pMenuItem) <br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -