Как создать разделительное меню с помощью GtkAda?
Вопрос
Вопрос напрашивается сам собой: как создать разделительное меню с помощью GtkAda?Я не могу заставить это сработать.
Спасибо.
Решение
Если бы вы добавили имеющийся у вас код к вашему вопросу, он был бы более наглядным.
Я написал немного кода, чтобы продемонстрировать использование отрывного меню с 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
параметр позволяет вам решить, хотите ли вы, чтобы это было отрывное меню при его создании.Функция просто создает меню, так что вам придется добавить его в строку меню (например) позже.
Другие советы
Не уверен, что это то, что вы ищете, но справочное руководство GtkAda говорит:
Все меню в GtkAda могут быть "отрывными" меню, то есть вы можете отделить их от родительского (либо строки меню, либо другого меню), чтобы они всегда оставались видимыми на экране).
Так что это звучит так, как будто вам не нужно ничего делать.