CodeS-SourceS
Rechercher un code, un tuto, une réponse

Windows-Controls: F-ToolBar (Barre d'outils)

Soyez le premier à donner votre avis sur cette source.

Vue 4 fois - Téléchargée 1 fois

Description

Bonjour,

Une barre d'outils est un contrôle qui contient un ou plusieurs boutons. Chaque bouton, lorsqu'il est cliqué par un utilisateur, envoie un message de commande à la fenêtre parentale.
Il utilise une "liste d'images" qui est une collection d'images de même taille, dont chacune peut être référencée par son index.

Code de création:
LRESULT CALLBACK Wpro(HWND h,UINT m,WPARAM wP,LPARAM lP) {
  const enum {_New=10,_Open,_Save,_Help};
  static HWND edit,tlBar;
  switch(m) {
  case WM_CREATE: {
    tlBar=CreateWindow(TOOLBARCLASSNAME,0
      ,WS_CHILD|WS_VISIBLE|TBSTYLE_WRAPABLE,0,0,0,0,h,0,0,0);
    HIMAGELIST imaList=ImageList_Create(16,16,ILC_COLOR16|ILC_MASK,3,0);
    SendMessage(tlBar,TB_SETIMAGELIST,0,(LPARAM)imaList); // imaList↔tlBar
    SendMessage(tlBar,TB_LOADIMAGES,IDB_STD_SMALL_COLOR,(LPARAM)HINST_COMMCTRL);
    TBBUTTON tbb[]={
      {STD_FILENEW,_New,TBSTATE_ENABLED,BTNS_AUTOSIZE,{0},0,(INT_PTR)"New"},
      {STD_FILEOPEN,_Open,TBSTATE_ENABLED,BTNS_AUTOSIZE,{0},0,(INT_PTR)"Open"},
      {STD_FILESAVE,_Save,0,BTNS_AUTOSIZE,{0},0,(INT_PTR)"Save"},
      {STD_HELP,_Help,TBSTATE_ENABLED,BTNS_AUTOSIZE,{0},0,(INT_PTR)"Help"}
    };
    SendMessage(tlBar,TB_BUTTONSTRUCTSIZE,sizeof(TBBUTTON),0);
    SendMessage(tlBar,TB_ADDBUTTONS,sizeof(tbb)/sizeof(TBBUTTON),(LPARAM)&tbb);
    SendMessage(tlBar,TB_AUTOSIZE,0,0);
    // ...
  } return 0;
  // ...


Code du traitement des messages:
  // ...
  case WM_COMMAND:
    switch(wP) {
    case _New: SendMessage(tlBar,TB_ENABLEBUTTON,_Save,1);
      SetWindowText(edit," New File"); return 0;
    case _Open: SendMessage(tlBar,TB_ENABLEBUTTON,_Save,1);
      SetWindowText(edit," Open File"); return 0;
    case _Save: SetWindowText(edit," Save File"); return 0;
    case _Help: SetWindowText(edit," Help"); return 0;
    } return 0;
  // ...
Dans cet exemple, le bouton Save n'est activé qu'après le premier click sur New ou Open.

Quelques liens:
CodeS-SourceS: Windows-Controls: A-Boutons
CodeS-SourceS: Windows-Controls: B-Barre d'état (status bar)
CodeS-SourceS: Windows-Controls: C-TrackBar (Slider)
CodeS-SourceS: Windows-Controls: D-Combo Box
CodeS-SourceS: Windows-Controls: E-Edit (simulation console)

Windows: How to Create Toolbars
Windows: ImageList_Create function

Bonne lecture …

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Donnez votre avis

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.