2009-09-07 4 views

답변

2

질문에 대한 코드를 추가하면 더 이해하기 쉬울 것입니다.

내가 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 매개 변수를 사용하면 만들 때이 매개 변수를 티어 오프 (tear off) 메뉴로 사용할 것인지 결정할 수 있습니다. 이 함수는 단지 메뉴를 생성하기 때문에 나중에 메뉴 막대에 추가해야합니다 (예를 들어).

+0

작동하지 않습니다! 감사! – Carl

1

확실하지 : GtkAda에서

모든 메뉴는 메뉴가 될 "떼어"수, (당신이 그들의 부모를 분리 할 수 ​​있습니다 즉, 메뉴 막대 또는 다른 메뉴)를 사용하여 항상 화면에 표시되도록합니다.

아무 것도 할 필요가없는 것처럼 들립니다.

+0

예,하지만 메뉴를 떼어내는 것이 아니라 메뉴 모음에서 분리되어 모든 시간 표시가 가능한 메뉴입니다. – Carl

+0

하지만 그건 바로 참고 매뉴얼에서 말하는 것입니다. –

+0

의견을 보내 주셔서 감사합니다. 계속 살펴 보겠습니다. – Carl

관련 문제