Como criar um menu destacável usando GTKAda?
Pergunta
A questão é autoexplicativa, como criar um menu destacável usando GTKAda?Eu não consigo fazer isso funcionar.
Obrigado.
Solução
Se você adicionasse o código que possui à sua pergunta, seria mais descritivo.
Eu escrevi um pouco de código para demonstrar o uso do menu destacável com GTKAda, não é tão difícil, mas pode ser difícil encontrar documentação sobre isso:
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;
O declare/begin/end
estrutura permite declarar variáveis em tempo de execução.
O boolean
O parâmetro permite que você decida se deseja que seja um menu destacável ao criá-lo.A função apenas cria o menu para que você tenha que adicioná-lo a uma barra de menu (por exemplo) posteriormente.
Outras dicas
Não tenho certeza se é isso que você está procurando, mas o manual de referência GTKADA diz:
Todos os menus em Gtkada podem ser menus "rasgar", ou seja, você pode separá -los dos pais (uma barra de menu ou de outro menu) para mantê -los visíveis na tela o tempo todo).
Então, parece que você não precisa fazer nada.