Come creare un menu di strappo utilizzando GtkAda?
Domanda
La domanda è autoesplicativo, come creare un menu di strappo utilizzando GtkAda? Non riesco a farlo funzionare.
Grazie.
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.