问题是自我解释,如何使用GTKAda创建一个撕裂菜单?我无法使它发挥作用。
感谢。
答案 0 :(得分:2)
如果您添加了您的问题代码,那么它将更具描述性。
我已经编写了一些代码来演示使用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
参数允许您在创建时确定是否要将其作为撕下菜单。该功能只是创建菜单,因此您必须稍后将其添加到菜单栏(例如)。
答案 1 :(得分:1)
不确定这是否是您要找的,但是GtkAda参考手册says:
GtkAda中的所有菜单都可以是“Tear off”菜单,即您可以将它们从父菜单(菜单栏或其他菜单)中分离出来,以使它们始终在屏幕上可见。
听起来好像你不需要做任何事情。