APPENDMENU |
Crée un menu |
---|---|
Turbo Pascal pour Windows | WINPROCS |
Syntaxe
Function AppendMenu(Menu: HMenu; Flags, IDNewItem: Word; NewItem: PChar): Bool; |
Paramètres
Nom | Description | ||
---|---|---|---|
Menu | Ce paramètre permet d'indiquer l'identificateur de menu contextuel à afficher. | ||
Flags | Ce paramètre permet d'indiquer des drapeaux d'item menu pouvant être combiné : | ||
Constante | Description | ||
MF_BITMAP | Cette constante permet d'utiliser un Bitmap comme item. | ||
MF_CHECKED | Cette constante permet de placer une marque de vérification sur l'item. | ||
MF_DISABLED | Cette constante permet de désactiver l'item de menu et ne peut pas être sélectionnable. | ||
MF_ENABLED | Cette constante permet d'activer l'item de menu et peut être sélectionnable. | ||
MF_GRAYED | Cette constante permet de désactiver l'item de menu, ne peut pas être sélectionnable et est gris. | ||
MF_MENUBARBREAK | Cette constante permet de placer l'item dans une nouvelle ligne pour item de barre de menu statique pour un menu contextuel. | ||
MF_MENUBREAK | Cette constante permet de placer l'item dans une nouvelle ligne pour item de barre de menu statique. | ||
MF_OWNERDRAW | Cette constante permet d'indiquer que l'item est un élément propriétaire dessiné. | ||
MF_POPUP | Cette constante permet de spécifier que l'item de menu est un menu contextuel associé avec lui. | ||
MF_SEPARATOR | Cette constante permet d'indiquer une ligne de séparation horizontal. | ||
MF_STRING | Cette constante permet d'indiquer que l'item de menu est une chaîne de caractères. | ||
MF_UNCHECKED | Cette constante permet de ne pas placer de marque de vérification sur l'item. | ||
IDNewItem | Ce paramètre permet d'indiquer l'identificateur de commande. | ||
NewItem | Ce paramètre permet d'indiquer le nom de l'item de menu. |
Description
Cette fonction permet d'ajouter un nouvel item au menu courant.
Exemple
Voici un exemple de l'utilisation de cette fonction :
- Program AppendMenuSamples;
-
- Uses WinTypes,WinProcs;
-
- Const
- CrtWindow: HWnd = 0;
-
- Var
- PS: TPaintStruct;
- Message: TMsg;
-
- Function CrtWinProc(Window: HWnd; Message, WParam: Word; LParam: LongInt): LongInt;Export;
- Var
- DC:HDC;
- Begin
- CrtWinProc := 0;
- CrtWindow := Window;
- Case Message of
- wm_Paint:Begin
- DC := BeginPaint(Window, PS);
- EndPaint(Window, PS);
- End;
- wm_Destroy: PostQuitMessage(0);
- Else CrtWinProc := DefWindowProc(Window, Message, WParam, LParam);
- End;
- End;
-
- Const
- CrtClass: TWndClass = (
- style: cs_HRedraw + cs_VRedraw;
- lpfnWndProc: @CrtWinProc;
- cbClsExtra: 0;
- cbWndExtra: 0;
- hInstance: 0;
- hIcon: 0;
- hCursor: 0;
- hbrBackground: 0;
- lpszMenuName: NIL;
- lpszClassName: 'TPWDraw'
- );
-
- Var
- Menu:HMENU;
- PtCurrent:PPoint;
- Point:MakePoint;
-
- BEGIN
- If HPrevInst = 0 Then Begin
- CrtClass.hInstance := HInstance;
- CrtClass.hIcon := LoadIcon(0, idi_Application);
- CrtClass.hCursor := LoadCursor(0, idc_Arrow);
- CrtClass.hbrBackground := color_Window + 1;
- RegisterClass(CrtClass);
- End;
- CrtWindow := CreateWindow(
- CrtClass.lpszClassName,
- 'AppendMenu Samples',
- ws_OverlappedWindow + ws_HScroll + ws_VScroll,
- cw_UseDefault, cw_UseDefault,
- cw_UseDefault, cw_UseDefault,
- 0,0,
- HInstance,
- NIL
- );
- ShowWindow(CrtWindow, CmdShow);
- Point.X := 5;
- Point.Y := 5;
- PtCurrent := @Point;
- Menu := CreatePopupMenu;
- AppendMenu(Menu, MF_ENABLED, 1, 'Option A');
- AppendMenu(Menu, MF_ENABLED, 2, 'Option B');
- AppendMenu(Menu, MF_ENABLED, 3, 'Option C');
- ClientToScreen(CrtWindow, PtCurrent^);
- TrackPopupMenu(Menu, 0, PtCurrent^.X, PtCurrent^.Y, 0, CrtWindow, NIL);
- UpdateWindow(CrtWindow);
- While GetMessage(Message, 0, 0, 0) do Begin
- TranslateMessage(Message);
- DispatchMessage(Message);
- End;
- END.
on obtiendra un résultat suivant :
Voir également
Langage de programmation - Turbo Pascal pour Windows - Référence de procédures et fonctions - CREATEMENU
Langage de programmation - Turbo Pascal pour Windows - Référence de procédures et fonctions - DELETEMENU
Langage de programmation - Turbo Pascal pour Windows - Référence de procédures et fonctions - INSERTMENU
Langage de programmation - Turbo Pascal pour Windows - Référence de procédures et fonctions - REMOVEMENU
Langage de programmation - C pour OS/2 - Support de Windows 3.1 - AppendMenu
Dernière mise à jour : Dimanche, le 10 décembre 2017