Version avec image de capture qui remplace celle du 31.10.2017.
Bonjour,
Un contrôle tab (onglet) est analogue aux séparateurs dans un cahier ou les étiquettes dans un classeur.
En utilisant un contrôle de tabulation, une application peut définir plusieurs pages pour la même zone d'une fenêtre ou d'une boîte de dialogue.
Chaque page comprend un certain type d'information ou un groupe de contrôles que l'application affiche lorsque l'utilisateur sélectionne l'onglet correspondant.
Code de création: WM_CREATE
<code cpp>
char *js[]={"Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi","Dimanche"};
const int IdTab=10,hiTab=25,nPage=sizeof(js)/sizeof(*js);
HWND tab;
void Create(HWND hWnd) {
TCITEM ti={TCIF_TEXT,0,0,0,0,-1,0};
tab=CreateWindow(WC_TABCONTROL,"",WS_CHILD|WS_CLIPSIBLINGS|WS_VISIBLE
|TCS_BUTTONS,0,0,300,40,hWnd,(HMENU)IdTab,0,0);
for (int i=0; i<nPage; ++i) {ti.pszText=js[i]; TabCtrl_InsertItem(tab,i,&ti);}
};
Comme je n'ai pas trouvé de méthode simple pour dessiner dans les pages correspondantes, j'ai limité la hauteur de tab à
hiTab=25.
Je peux donc dessiner chaque page selon son numéro
i=SendMessage(tab,TCM_GETCURSEL,0,0) directement dans la fenêtre principale:
Code du traitement du message: WM_PAINT:
<code cpp>
void Paint(HWND hWnd) {
RECT r; GetClientRect(hWnd,&r);
PAINTSTRUCT ps;
HDC hdc=BeginPaint(hWnd,&ps);
MoveToEx(hdc,r.left,r.top+hiTab,0); LineTo(hdc,r.right,r.bottom);
MoveToEx(hdc,r.left,r.bottom,0); LineTo(hdc,r.right,r.top+hiTab);
int x=(r.left+r.right)/2,y=(r.top+r.bottom)/2-8;
int i=SendMessage(tab,TCM_GETCURSEL,0,0);
SetBkMode(hdc,TRANSPARENT); TextOut(hdc,x-40,y,"Page:",5);
TextOut(hdc,x+4,y,js[i],strlen(js[i])); // dessin selon la page i
EndPaint(hWnd,&ps);
}
Modifiez la taille de la fenêtre.
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)
CodeS-SourceS: Windows-Controls: F-ToolBar (Barre d'outils)
CodeS-SourceS: Windows-Controls: G-Menu
Windows: Tab
Windows: About Tab Controls
Windows: How to Create a Tab Control in the Main Window
Bonne lecture …
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.