如何使用GTKAda创建一个tearoff菜单?
答
如果你添加了代码你有你的问题,它会更具描述性。
我写一些代码来证明撕纸菜单与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
参数允许您在创建时决定是否要将其作为撕下菜单。该功能只是创建菜单,因此您稍后必须将其添加到菜单栏(例如)。
它确实有效!谢谢! – Carl 2009-09-07 13:00:21