gpt4 book ai didi

delphi - 如何在Delphi中添加TLabel到菜单栏?

转载 作者:行者123 更新时间:2023-12-03 15:04:20 28 4
gpt4 key购买 nike

我使用Beyond Compare (一个很棒的程序),当它在菜单栏上显示“新版本可用”标签时,给人留下了深刻的印象。我点击它,弹出一个安装新版本框,它安装了,程序重新启动,出现了新版本,没有更多标签。

我认为这是一个很棒的功能。该标签位于菜单栏的显着位置,用户不会错过它。我已经有了更新程序,所以我所要做的就是添加标签。这应该很容易。

这是我想要的标签: The Label Where I Want It
(来源:beholdgenealogy.com)

...错误。我不知道如何在那里添加标签。菜单栏及其上方的控制区域似乎是视觉组件的不干涉区域。我无法在那里放置一个。

但我知道这是可以做到的,因为Beyond Compare是一个Delphi程序。

谁能告诉我必须做什么才能将 TLabel 放入菜单栏中,或者至少使其看起来位于菜单栏上的正确位置?

作为引用,我使用 Delphi 2009。

<小时/>

结论:Christopher 似乎正确地弄清楚了 Beyond Compare 的人做了什么。我决定实现菜单项,但没有定制他的“所有者绘制”解决方案。因此,我没有得到蓝色粗体下划线超链接的外观,但我也不会丢失所有者绘制跳过的所有自动内容(例如 Vista 样式)。

为了将菜单项放在右侧,我在“帮助”后面添加了一个带有标题“”且被禁用的项目。

谢谢,克里斯托弗。我一直以为它一定是一个标签,但你看到了这一点。

最佳答案

你确定这是一个标签吗?

我没有使用过该程序,但它可能只是一个菜单项,设置为“所有者绘制”并绘制成看起来像链接?

http://sirmonkeys.com/images/updatelink.png
(在 Delphi 7 中完成)

procedure TForm1.MYITem1DrawItem(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; Selected: Boolean);
begin
acanvas.Font.Style := [fsUnderline,fsbold];
acanvas.Font.color := clblue;
acanvas.Brush.Style := bsClear;
acanvas.TextOut(arect.left+1,arect.top+1,'Link to Update...');
end;

procedure TForm1.MYITem1MeasureItem(Sender: TObject; ACanvas: TCanvas;
var Width, Height: Integer);
begin
width := 100;
end;

然后将 ImageList 分配给 MainMenu1.Images或将 MainMenu1.OwnerDraw 设置为 true

关于delphi - 如何在Delphi中添加TLabel到菜单栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1760620/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com