Domanda

La domanda è autoesplicativo, come creare un menu di strappo utilizzando GtkAda? Non riesco a farlo funzionare.

Grazie.

È stato utile?

Soluzione

Se è stato aggiunto il codice che avete alla vostra domanda sarebbe più descrittivo.

Ho scritto un po 'di codice per dimostrare l'utilizzo del strappo menu con GtkAda, non è così difficile, ma può essere difficile trovare la documentazione su di esso:

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;

La struttura declare/begin/end permette di dichiarare le variabili in fase di esecuzione.

Il parametro boolean permette di decidere se si vuole che sia un menu di strappo al momento della creazione. La funzione crea solo menu, in modo che ci si deve aggiungere a una barra dei menu (per esempio) in seguito.

Altri suggerimenti

Non sono sicuro se questo è quello che stai cercando, ma il manuale di riferimento GtkAda dice :

  

Tutti i menu in GtkAda possono essere "Strappare" menu, cioè è possibile staccare dal loro genitore (o una barra dei menu o di un altro menu) per tenerli visibile sullo schermo in ogni momento).

Così suona come se non c'è bisogno di fare nulla.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top