Section courante

A propos

Section administrative du site

  1. {$IFC UNDEFINED UsingIncludes}
  2. {$SETC UsingIncludes := 0}
  3. {$ENDC}
  4.  
  5. {$IFC NOT UsingIncludes}
  6. UNIT Menus;
  7. INTERFACE
  8. {$ENDC}
  9.  
  10. {$IFC UNDEFINED UsingMenus}
  11. {$SETC UsingMenus := 1}
  12.  
  13. {$I+}
  14. {$SETC MenusIncludes := UsingIncludes}
  15. {$SETC UsingIncludes := 1}
  16. {$IFC UNDEFINED UsingQuickdraw}
  17. {$I $$Shell(PInterfaces)Quickdraw.p}
  18. {$ENDC}
  19. {$SETC UsingIncludes := MenusIncludes}
  20.  
  21. Const
  22.  noMark = 0; {Symbole de marque pour MarkItem}
  23.  
  24.   { menu de messages defProc }
  25.  mDrawMsg = 0;
  26.  mChooseMsg = 1;
  27.  mSizeMsg = 2;
  28.  mDrawItemMsg = 4; 
  29.  mCalcItemMsg = 5;
  30.  textMenuProc = 0;
  31.  hMenuCmd = 27; {itemCmd == 0x001B ==> menu hiérarchique}
  32.  hierMenu = -1; {un menu hiérarchique - pour l'appel InsertMenu}
  33.  mPopUpMsg = 3; {menu messages defProc - placez vous-mêmes }
  34.  mctAllItems = -98; {rechercher tous les éléments pour l'ID donné}
  35.  mctLastIDIndic = -99; {la dernière entrée de la table des couleurs contient ceci dans le champ ID}
  36.  
  37. Type
  38.  MenuPtr=^MenuInfo;
  39.  MenuHandle=^MenuPtr;
  40.  MenuInfo=Record
  41.   menuID:INTEGER;
  42.   menuWidth:INTEGER;
  43.   menuHeight:INTEGER;
  44.   menuProc:Handle;
  45.   enableFlags:LONGINT;
  46.   menuData:Str255;
  47.  End;
  48.  
  49.  MCEntryPtr=^MCEntry;
  50.  MCEntry=RECORD
  51.   mctID:INTEGER; {identificateur du menu. ID = 0 est la barre de menu}
  52.   mctItem:INTEGER; {élément du menu. Item = 0 est un titre}
  53.   mctRGB1:RGBColor; {l'utilisation dépend de l'ID et de l'élément}
  54.   mctRGB2:RGBColor; {l'utilisation dépend de l'ID et de l'élément}
  55.   mctRGB3:RGBColor; {l'utilisation dépend de l'ID et de l'élément}
  56.   mctRGB4:RGBColor; {l'utilisation dépend de l'ID et de l'élément}
  57.   mctReserved:INTEGER; {réservé pour un usage interne}
  58.  END;
  59.  
  60. {}
  61.  
  62.  MCTablePtr=^MCTable;
  63.  MCTableHandle=^MCTablePtr;
  64.  MCTable=Array[0..0] of MCEntry; { les entrées elles-mêmes }
  65.  MenuCRsrcPtr=^MenuCRsrc;
  66.  MenuCRsrcHandle=^MenuCRsrcPtr;
  67.  MenuCRsrc=Record
  68.   numEntries:INTEGER; {Nombre d'entrées}
  69.   mcEntryRecs:MCTable; {ARRAY [1..numEntries] of MCEntry}
  70.  END;
  71.  
  72. PROCEDURE InitMenus; INLINE $A930;
  73. FUNCTION  NewMenu(menuID: INTEGER;menuTitle: Str255): MenuHandle; INLINE $A931;
  74. FUNCTION  GetMenu(resourceID: INTEGER): MenuHandle; INLINE $A9BF;
  75. PROCEDURE DisposeMenu(theMenu: MenuHandle); INLINE $A932;
  76. PROCEDURE AppendMenu(menu: MenuHandle;data: Str255); INLINE $A933;
  77. PROCEDURE AddResMenu(theMenu: MenuHandle;theType: ResType); INLINE $A94D;
  78. PROCEDURE InsertResMenu(theMenu: MenuHandle;theType: ResType;afterItem: INTEGER); INLINE $A951;
  79. PROCEDURE InsertMenu(theMenu: MenuHandle;beforeID: INTEGER); INLINE $A935;
  80. PROCEDURE DrawMenuBar; INLINE $A937;
  81. PROCEDURE InvalMenuBar; INLINE $A81D;
  82. PROCEDURE DeleteMenu(menuID: INTEGER); INLINE $A936
  83. PROCEDURE ClearMenuBar; INLINE $A934;
  84. FUNCTION  GetNewMBar(menuBarID: INTEGER): Handle; INLINE $A9C0;
  85. FUNCTION  GetMenuBar: Handle; INLINE $A93B;
  86. PROCEDURE SetMenuBar(menuList: Handle); INLINE $A93C;
  87. PROCEDURE InsMenuItem(theMenu: MenuHandle;itemString: Str255;afterItem: INTEGER); INLINE $A826;
  88. PROCEDURE DelMenuItem(theMenu: MenuHandle;item: INTEGER); INLINE $A952;
  89. FUNCTION  MenuKey(ch: CHAR): LONGINT; INLINE $A93E;
  90. PROCEDURE HiliteMenu(menuID: INTEGER); INLINE $A938;
  91. PROCEDURE SetItem(theMenu: MenuHandle;item: INTEGER;itemString: Str255); INLINE $A947;
  92. PROCEDURE GetItem(theMenu: MenuHandle;item: INTEGER;VAR itemString: Str255); INLINE $A946;
  93. PROCEDURE DisableItem(theMenu: MenuHandle;item: INTEGER); INLINE $A93A;
  94. PROCEDURE EnableItem(theMenu: MenuHandle;item: INTEGER); INLINE $A939;
  95. PROCEDURE CheckItem(theMenu: MenuHandle;item: INTEGER;checked: BOOLEAN); INLINE $A945;
  96. PROCEDURE SetItemMark(theMenu: MenuHandle;item: INTEGER;markChar: CHAR); INLINE $A944;
  97. PROCEDURE GetItemMark(theMenu: MenuHandle;item: INTEGER;VAR markChar: CHAR); INLINE $A943;
  98. PROCEDURE SetItemIcon(theMenu: MenuHandle;item: INTEGER;iconIndex: Byte); INLINE $A940;
  99. PROCEDURE GetItemIcon(theMenu: MenuHandle;item: INTEGER;VAR iconIndex: Byte); INLINE $A93F;
  100. PROCEDURE SetItemStyle(theMenu: MenuHandle;item: INTEGER;chStyle: Style); INLINE $A942;
  101. PROCEDURE GetItemStyle(theMenu: MenuHandle;item: INTEGER;VAR chStyle: Style);
  102. PROCEDURE CalcMenuSize(theMenu: MenuHandle); INLINE $A948;
  103. FUNCTION  CountMItems(theMenu: MenuHandle): INTEGER; INLINE $A950;
  104. FUNCTION  GetMHandle(menuID: INTEGER): MenuHandle; INLINE $A949;
  105. PROCEDURE FlashMenuBar(menuID: INTEGER); INLINE $A94C;
  106. PROCEDURE SetMenuFlash(count: INTEGER); INLINE $A94A;
  107. FUNCTION  MenuSelect(startPt: Point): LONGINT; INLINE $A93D;
  108. PROCEDURE InitProcMenu(resID: INTEGER); INLINE $A808;
  109. PROCEDURE GetItemCmd(theMenu: MenuHandle;item: INTEGER;VAR cmdChar: CHAR); INLINE $A84E;
  110. PROCEDURE SetItemCmd(theMenu: MenuHandle;item: INTEGER;cmdChar: CHAR); INLINE $A84F;
  111. FUNCTION  PopUpMenuSelect(menu: MenuHandle;top: INTEGER;left: INTEGER;popUpItem: INTEGER): LONGINT; INLINE $A80B;
  112. FUNCTION  MenuChoice: LONGINT; INLINE $AA66;
  113. PROCEDURE DelMCEntries(menuID: INTEGER;menuItem: INTEGER); INLINE $AA60;
  114. FUNCTION  GetMCInfo: MCTableHandle; INLINE $AA61;
  115. PROCEDURE SetMCInfo(menuCTbl: MCTableHandle); INLINE $AA62;
  116. PROCEDURE DispMCInfo(menuCTbl: MCTableHandle); INLINE $AA63;
  117. FUNCTION  GetMCEntry(menuID: INTEGER;menuItem: INTEGER): MCEntryPtr; INLINE $AA64;
  118. PROCEDURE SetMCEntries(numEntries: INTEGER;menuCEntries: MCTablePtr); INLINE $AA65;
  119.  
  120. {$ENDC} { UsingMenus }
  121.  
  122. {$IFC NOT UsingIncludes}
  123. END.
  124. {$ENDC}


Dernière mise à jour : Lundi, le 24 juin 2024