如何使用 GTKada 创建撕下菜单?

发布于 2024-08-04 14:18:58 字数 57 浏览 7 评论 0原文

问题是不言自明的,如何使用 GTKAda 创建撕下菜单?我无法让它发挥作用。

谢谢。

The question is self-explaining, how to create a tearoff menu using GTKAda? I can't make it work.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

天气好吗我好吗 2024-08-11 14:18:59

如果您将代码添加到您的问题中,它会更具描述性。

我写了一些代码来演示 GTKAda 撕下菜单的用法,这并不难,但可能很难找到有关它的文档:

function CreateFileMenu(tearOff : boolean) return Gtk_Menu is
    fileMenu : Gtk_Menu;
    newFile, loadFile, saveFile, saveAs, close : Gtk_Menu_Item;
begin
    --  Create the menu:
    Gtk_New(fileMenu);

    --  Add the tear off item to the menu if required:
    if tearOff then
        declare
           tear : Gtk_Tearoff_Menu_Item;
        begin
           Gtk_New(tear);
           Append fileMenu, tear);
           Show(tear);
        end;
    end if;

    --  Create the rest of the menu items:
    Gtk_New_With_Mnemonic(newFile, "_New");
    Gtk_New_With_Mnemonic(loadFile, "_Load");
    Gtk_New_With_Mnemonic(saveFile, "_Save");
    Gtk_New_With_Mnemonic(saveAs, "Save _as...");
    Gtk_New_With_Mnemonic(close, "_Close");

    --  Add the items to the menu:
    Add(fileMenu, newFile);
    Add(fileMenu, loadFile);
    Add(fileMenu, saveFile);
    Add(fileMenu, saveAs);
    Add(fileMenu, close);

    return fileMenu;
 end CreateFileMenu;

declare/begin/end 结构允许您在运行时声明变量。

boolean 参数允许您在创建菜单时决定是否希望它成为可撕式菜单。该函数只是创建菜单,因此您必须稍后将其添加到菜单栏(例如)。

If you added the code you have to your question it would be more descriptive.

I've written a bit of code to demonstrate the usage of the tear off menu with GTKAda, it's not so difficult, but it may be hard to find documentation about it:

function CreateFileMenu(tearOff : boolean) return Gtk_Menu is
    fileMenu : Gtk_Menu;
    newFile, loadFile, saveFile, saveAs, close : Gtk_Menu_Item;
begin
    --  Create the menu:
    Gtk_New(fileMenu);

    --  Add the tear off item to the menu if required:
    if tearOff then
        declare
           tear : Gtk_Tearoff_Menu_Item;
        begin
           Gtk_New(tear);
           Append fileMenu, tear);
           Show(tear);
        end;
    end if;

    --  Create the rest of the menu items:
    Gtk_New_With_Mnemonic(newFile, "_New");
    Gtk_New_With_Mnemonic(loadFile, "_Load");
    Gtk_New_With_Mnemonic(saveFile, "_Save");
    Gtk_New_With_Mnemonic(saveAs, "Save _as...");
    Gtk_New_With_Mnemonic(close, "_Close");

    --  Add the items to the menu:
    Add(fileMenu, newFile);
    Add(fileMenu, loadFile);
    Add(fileMenu, saveFile);
    Add(fileMenu, saveAs);
    Add(fileMenu, close);

    return fileMenu;
 end CreateFileMenu;

The declare/begin/end structure allows you to declare variables in run time.

The boolean parameter allows you decide if you want it to be a tear off menu when you create it. The function just creates the menu so you'd have to add it to a menu bar (for example) later.

爱格式化 2024-08-11 14:18:59

不确定这是否是您要找的,但是 GtkAda 参考手册

GtkAda 中的所有菜单都可以是“Tear off”菜单,即您可以将它们与其父菜单(菜单栏或另一个菜单)分离,以使其始终在屏幕上可见。

所以听起来好像你不需要做任何事情。

Not sure if this is what you are looking for, but the GtkAda reference manual says:

All the menus in GtkAda can be "Tear off" menus, i.e you can detach them from their parent (either a menu bar or another menu) to keep them visible on the screen at all times).

So it sounds as if you don't have to do anything.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文