Pergunta

A questão é autoexplicativa, como criar um menu destacável usando GTKAda?Eu não consigo fazer isso funcionar.

Obrigado.

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top