SCR/AL1 - TOME III. Les librairies utilitaires
Syntax
WDDlgLVSelect(U_ch *title, U_ch **opts, char *sels, int x, int y,
int cx, int cy)
Description
Affiche une liste d'options dans une boîte de dialogue dynamique et permet d'en sélectionner une ou plusieurs. Cette fonction fait appel au groupe de fonctions WDDlg. La sélection s'opère dans une "LISTVIEW", c'est-à-dire dans un tableau comportant une ligne de titre et dont les colonnes ont une largeur modifiable par l'utilisateur.
La boîte de dialogue proposée contient une LISTVIEW et deux ou trois boutons : Ok, Cancel et Select All si les sélections multiples sont permises (selon la valeur de sels).
Attention aux coordonnées utilisées : la position (x, y) est exprimée en coordonées écran (pixels), tandis que la taille (cx, cy) est exprimée en coordonnées de boîte de dialogue. Ces dernières représentent la taille moyenne d'un caractère dans la police utilisée dans la boîte de dialogue divisée par 4 horizontalement, par 8 verticalement.
On peut quitter la sélection par ENTER, ESCAPE, Alt+F4, double click sur une option, click sur Ok ou Cancel.
Valeur retournée
La largeur des colonnes est fixée automatiquement en fonction des textes des options (pas des titres).
Exemple
int nTabs[] = {50, 70, 100};
MnEdit3(pg, fld_nb, opts)
PAGE *pg;
int fld_nb;
U_ch **opts;
{
int x, y, w, h;
WscrGetFldPos(pg, fld_nb, &x, &y, &w, &h);
// La PAGE pg doit être active !! //
return(WDDlgLVSelect(0L, opts, 0L, x, y + h, w/2, 140));
}
Voir également
WDDlgCreate(), WDDlgEdit(), WDDlgAddListview(), WDDlgSetLVTabs()
Copyright © 1998-2015 Jean-Marc Paul and Bernard PAUL - Envoyez vos remarques ou commentaires à bernard@xon.be