|
|
|||||||||
|
Etant donné la taille de l'écran d'un Pocket PC, il est parfois utile d'éviter de multiplier les boites de dialogue. Un moyen d'éviter cette surcharge est de créer une seule boite de dialogue, contenant plusieurs onglets. Pour ce faire, on utilise les classes CPropertySheet et CPropertyPage. La classe CPropertSheet représente un livre pouvant contenir plusieurs pages, la classe CPropertyPage correspondant aux pages du livre. La classe CPropertySheet ne derive pas de la classe CDialog. Ce n'est donc pas une DialogBox. Voilà un exemple d'utilisation :
Voyons ce que ça donne du point de vue de la programmation : Il convient d'abord de créer des ressources de type dialogue
correspondant aux différentes pages que l'on veut créer
marqué par un onglet tel un marque page. Dans notre cas, nous
ferons un livre muni de 2 onglets. On utilise la ResourceView pour créer
les ressources de dialogue :
Appelons les par exemple IDD_ONGLET1 et IDD_ONGLET2. Il faut ensuite créer les classes correspondant à ces onglets, en les faisant dériver de CPropertyPage. Pour créer les classes correpondantes, il suffit de double cliquer sur la ressource dialogue créée, on obtient alors la boite de dialogue suivante :
On choisit Create a new class, que l'on nomme COnglet1, dérivant de CPropertyPage. Il convient de vérifier que le Dialog ID correspond à l'ID de la boite de dialogue (IDD_ONGLET1 dans notre cas). Même chose pour l'autre onglet.
On obtient donc le code suivant : Dans Onglet1.h :
Et dans Onglet2.h :
On a donc créé les 2 onglets de notre livre, mais nous ne les avons pas encore rassemblé dans notre livre.
Dans les attributs publics de la classe CSheet, nous déclarons des instances des classes COnglet1 et COnglet2 :
Dans le constructeur de notre classe, nous attachons les onglets créés dans le constructeur, ce qui à pour effet de les lier à notre pseudo livre que notre visuel va représenter :
Il suffit maintenant de créer une instance de notre livre au moment où on souhaite l'utiliser et de l'afficher comme une boite de dialogue :
Attention !
On met IDOK si on souhaite fermer sur l'événement
OK et IDCANCEL si on souhaite fermer événement Cancel
de la class CPropertySheet.
|
|||||||||
|
|
|||||||||
|
Copyright 2001-2004 - Tous droits réservés
|
|||||||||
|
iPAQ
est un produit de COMPAQ.
|