超酷菜单,类似WindowsXP的菜单,千万别错过。源码下载,Delphi,BCB都可用

houzh 2001-08-22 10:01:48
下载地址:http://www.ciemmesoft.com/componenti/xpmenu.zip
...全文
276 23 打赏 收藏 举报
写回复
23 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Scarlette 2001-08-22
嗯,源码已经分析好了。已经找到了其中FlatMenu=True时第一次显示时Border没有重绘的Bug的原因。另外MeasureItem方法内部也有错误。
  • 打赏
  • 举报
回复
Tompage 2001-08-22
真好用,谢了!
  • 打赏
  • 举报
回复
houzh 2001-08-22
建立或打开一个控件包,按Add按钮,添加一个模块单元,选取添加*.Pas文件
bcb会自动建立一个对应的*.hpp文件。
绝对不要任何修改就可以运行
在form上添加该控件,设置Active=true
OverrideOwnerDraw=true;
就一切OK了。甚至在ToolBar上建立菜单用的ToolButton都变了样子
我都试过了,真的好用 。
TMD一切都是源代码,怎么会有木马,真笨
  • 打赏
  • 举报
回复
DD88 2001-08-22
没木马吧?
怎么用啊?
  • 打赏
  • 举报
回复
lwk_hlj 2001-08-22
我会了,真的好啊
tmd 真好
  • 打赏
  • 举报
回复
lwk_hlj 2001-08-22
如何用啊
  • 打赏
  • 举报
回复
boclif 2001-08-22
Thank you very much!
  • 打赏
  • 举报
回复
Bob7946 2001-08-22
谢了
  • 打赏
  • 举报
回复
feng_zi 2001-08-22
不是加*.pas吗?界面有何变化呢,我用的是delphi5没有反应
  • 打赏
  • 举报
回复
coolbaby 2001-08-22
基本上好使
不过效果也不怎么样!
  • 打赏
  • 举报
回复
coolbaby 2001-08-22
我会用一些了!
  • 打赏
  • 举报
回复
角落的青苔 2001-08-22
明天再试试呀^_^
  • 打赏
  • 举报
回复
soff 2001-08-22
直接将控件加进来,属性设active为true就可以了,偶一直用他。
  • 打赏
  • 举报
回复
coolbaby 2001-08-22
怎么用?
  • 打赏
  • 举报
回复
suite 2001-08-22
有几个问题,popup menu是不变的,而且在toolbar上的toolbutton中设定的menu1也只是
button变,菜单并不变。
  • 打赏
  • 举报
回复
feng_zi 2001-08-22
如何用之,小弟不才!
  • 打赏
  • 举报
回复
Scarlette 2001-08-22
cornermoss:
很遗憾,这个XpMenu只不过是将TMainMenu和所有TMainMenuItem的OnOwnerDraw指向自己,然后由自己重绘罢了。上述Bug的原因在于以下代码段:

if not (csDesigning in ComponentState) then
begin
if (FFlatMenu) and (not FTopMenu) then
begin
hDcM := ACanvas.Handle;
hWndM := WindowFromDC(hDcM);
if hWndM <> FForm.Handle then
begin
DrawWindowBorder(hWndM, FMenu.IsRightToLeft);
end;
end;
end;

在Menu第一次弹出时,取到的hWndM总是0。这因该是设计结构上的失误,暂时还没有办法修正。
  • 打赏
  • 举报
回复
角落的青苔 2001-08-22
我就只看到toolbar上有一点小改变呢?怎么菜单还是一样的呢??:~~
  • 打赏
  • 举报
回复
feng_zi 2001-08-22
小弟,有些不明,能否再详细说一遍如何使用呢,在delphi中,谢先了!
  • 打赏
  • 举报
回复
wsyhnyz 2001-08-22
谢谢
  • 打赏
  • 举报
回复
加载更多回复
发帖
非技术区
加入

819

社区成员

Delphi 非技术区
社区管理员
  • 非技术区社区
申请成为版主
帖子事件
创建了帖子
2001-08-22 10:01
社区公告
暂无公告