利用c++builder制作仿Oicq菜单

本文介绍了如何使用C++ Builder来创建一个仿Oicq的自定义菜单,包括设置菜单项的图标,实现鼠标悬浮时的高亮效果,以及自定义菜单的绘制和尺寸测量。通过添加TMainMenu组件,TImageList组件,以及自定义DrawItem和MeasureItem事件来实现美化菜单界面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


  用c++ builder编制仿Oicq菜单

作者:马明臣

目前一些前卫的软件都使用自画功能来美化程序的界面,比如QQ的菜单就是一例。他采用了仿windos开始界面,即左面显示一个位图,然后是每个菜单项前面加上一个漂亮的图标。当鼠标悬浮在每一个菜单项上时图标就凸出显示,而菜单项的文字部分则凹下去显示,非常漂亮。(效果如图1所示)
你是否也想在你的程序中制作出这样的菜单呢?那么就跟我一起来制作吧。
新建一工程文件,窗体单元以CoolMenu.cpp存盘,工程文件以CoolMenuPrj.bpr存盘
在对象浏览器中把窗体的Caption设为CoolMenu,Name属性设为CoolMenuForm,Menu属性设为CoolMenu。激活Standard组件页增加一个TMainMenu组件,设置name属性为CoolMenu,OwnerDdraw属性为true,images属性为MenuImage,再激活Win32组件页增加一个TImageList组件,设置name属性为MenuImage.双击该ImageList在其中添加如图1所示的9个图标文件(显示在子菜单前的图标)。双击CoolMenu菜单控件添加如图所示的子菜单。(分别为消息管理、BP机短讯、手机短讯、更改用户、注册向导、个人设定、系统参数、退出)并分别设置其imageIndex为0,1,2,3,4,5,6,7,8。

打开CoolMenu.h文件在其头部加入如下代码:
#include <Graphics.hpp>

在private:// User declarations下加入如下代码:
 Graphics::TBitmap *Bmp1;
 void __fastcall DrawBevel(TRect &rect, TCanvas *Canvas, bool bBevel);

打开C

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值