CSpinButtonCtrl, classe
Fournit les fonctionnalités du contrôle commun de bouton toupie (spin) Windows.
Syntaxe
class CSpinButtonCtrl : public CWnd
Membres
Constructeurs publics
Nom | Description |
---|---|
CSpinButtonCtrl ::CSpinButtonCtrl | Construit un objet CSpinButtonCtrl . |
Méthodes publiques
Nom | Description |
---|---|
CSpinButtonCtrl ::Create | Crée un contrôle de bouton spin et l’attache à un CSpinButtonCtrl objet. |
CSpinButtonCtrl ::CreateEx | Crée un contrôle de bouton spin avec les styles étendus Windows spécifiés et l’attache à un CSpinButtonCtrl objet. |
CSpinButtonCtrl ::GetAccel | Récupère les informations d’accélération d’un contrôle de bouton de rotation. |
CSpinButtonCtrl ::GetBase | Récupère la base actuelle d’un contrôle de bouton spin. |
CSpinButtonCtrl ::GetBuddy | Récupère un pointeur vers la fenêtre de pote actuelle. |
CSpinButtonCtrl ::GetPos | Récupère la position actuelle d’un contrôle de bouton de rotation. |
CSpinButtonCtrl ::GetRange | Récupère les limites supérieures et inférieures (plage) d’un contrôle de bouton de rotation. |
CSpinButtonCtrl ::SetAccel | Définit l’accélération d’un contrôle de bouton de rotation. |
CSpinButtonCtrl ::SetBase | Définit la base d’un contrôle de bouton de rotation. |
CSpinButtonCtrl ::SetBuddy | Définit la fenêtre de copain pour un contrôle de bouton de rotation. |
CSpinButtonCtrl ::SetPos | Définit la position actuelle du contrôle. |
CSpinButtonCtrl ::SetRange | Définit les limites supérieures et inférieures (plage) d’un contrôle de bouton de rotation. |
Notes
Un « contrôle de bouton spin » (également appelé contrôle haut vers le bas) est une paire de boutons de flèche que l’utilisateur peut cliquer pour incrémenter ou décrémenter une valeur, telle qu’une position de défilement ou un nombre affiché dans un contrôle complémentaire. La valeur associée à un contrôle de bouton spin est appelée sa position actuelle. Un contrôle de bouton de rotation est le plus souvent utilisé avec un contrôle complémentaire, appelé « fenêtre de pote ».
Ce contrôle (et par conséquent la CSpinButtonCtrl
classe) est disponible uniquement pour les programmes exécutés sous Windows 95/98 et Windows NT version 3.51 et ultérieure.
Pour l’utilisateur, un contrôle de bouton de rotation et sa fenêtre de pote ressemblent souvent à un seul contrôle. Vous pouvez spécifier qu’un contrôle de bouton de rotation se positionne automatiquement en regard de sa fenêtre de pote et qu’il définit automatiquement la légende de la fenêtre copain sur sa position actuelle. Vous pouvez utiliser un contrôle de bouton de rotation avec un contrôle d’édition pour inviter l’utilisateur à entrer des données numériques.
Cliquer sur la flèche vers le haut déplace la position actuelle vers le maximum, puis cliquer sur la flèche vers le bas déplace la position actuelle vers le minimum. Par défaut, la valeur minimale est 100 et la valeur maximale est 0. Chaque fois que le paramètre minimal est supérieur au paramètre maximal (par exemple, lorsque les paramètres par défaut sont utilisés), le fait de cliquer sur la flèche vers le haut diminue la valeur de position et le fait de cliquer sur la flèche vers le bas l’augmente.
Un contrôle de bouton de rotation sans fenêtre de pote fonctionne comme une sorte de barre de défilement simplifiée. Par exemple, un contrôle tabulation affiche parfois un contrôle de bouton de rotation pour permettre à l’utilisateur de faire défiler des onglets supplémentaires en mode affichage.
Pour plus d’informations sur l’utilisation CSpinButtonCtrl
, consultez Contrôles et utilisation de CSpinButtonCtrl.
Hiérarchie d'héritage
CSpinButtonCtrl
Spécifications
En-tête : afxcmn.h
CSpinButtonCtrl ::Create
Crée un contrôle de bouton spin et l’attache à un CSpinButtonCtrl
objet..
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Paramètres
dwStyle
Spécifie le style du contrôle de bouton spin. Appliquez n’importe quelle combinaison de styles de contrôle de bouton spin au contrôle. Ces styles sont décrits dans les styles de contrôle haut vers le bas dans le Kit de développement logiciel (SDK) Windows.
rect
Spécifie la taille et la position du contrôle spin button. Il peut s’agir d’un objet CRect ou d’une structure RECT
pParentWnd
Pointeur vers la fenêtre parente du contrôle spin button, généralement un CDialog
. Elle ne doit pas être NULL.
nID
Spécifie l’ID du contrôle spin button.
Valeur de retour
Différent de zéro si l’initialisation a réussi ; sinon 0.
Notes
Vous construisez un CSpinButtonCtrl
objet en deux étapes, appelez le constructeur, puis appelez Create
, ce qui crée le contrôle de bouton spin et l’attache à l’objet CSpinButtonCtrl
.
Pour créer un contrôle de bouton spin avec des styles de fenêtre étendus, appelez CSpinButtonCtrl ::CreateEx au lieu de Create
.
CSpinButtonCtrl ::CreateEx
Crée un contrôle (fenêtre enfant) et l’associe à l’objet CSpinButtonCtrl
.
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Paramètres
dwExStyle
Spécifie le style étendu du contrôle en cours de création. Pour obtenir la liste des styles windows étendus, consultez le paramètre dwExStyle pour CreateWindowEx dans le Kit de développement logiciel (SDK) Windows.
dwStyle
Spécifie le style du contrôle de bouton spin. Appliquez n’importe quelle combinaison de styles de contrôle de bouton spin au contrôle. Ces styles sont décrits dans les styles de contrôle haut vers le bas dans le Kit de développement logiciel (SDK) Windows.
rect
Référence à une structure RECT décrivant la taille et la position de la fenêtre à créer, dans les coordonnées clientes de pParentWnd.
pParentWnd
Pointeur vers la fenêtre qui est le parent du contrôle.
nID
ID de la fenêtre enfant du contrôle.
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
Notes
Utilisez CreateEx
plutôt que Créer pour appliquer des styles Windows étendus, spécifiés par le préface de style étendu Windows WS_EX_.
CSpinButtonCtrl ::CSpinButtonCtrl
Construit un objet CSpinButtonCtrl
.
CSpinButtonCtrl();
CSpinButtonCtrl ::GetAccel
Récupère les informations d’accélération d’un contrôle de bouton de rotation.
UINT GetAccel(
int nAccel,
UDACCEL* pAccel) const;
Paramètres
nAccel
Nombre d’éléments dans le tableau spécifié par pAccel.
pAccel
Pointeur vers un tableau de structures UDACCEL qui reçoivent des informations d’accélération.
Valeur de retour
Nombre de structures d’accélérateur récupérées.
CSpinButtonCtrl ::GetBase
Récupère la base actuelle d’un contrôle de bouton spin.
UINT GetBase() const;
Valeur de retour
Valeur de base actuelle.
CSpinButtonCtrl ::GetBuddy
Récupère un pointeur vers la fenêtre de pote actuelle.
CWnd* GetBuddy() const;
Valeur de retour
Pointeur vers la fenêtre de copain actuelle.
CSpinButtonCtrl ::GetPos
Récupère la position actuelle d’un contrôle de bouton de rotation.
int GetPos() const; int GetPos32(LPBOOL lpbError = NULL) const;
Paramètres
lpbError
Pointeur vers une valeur booléenne définie sur zéro si la valeur est récupérée ou non zéro si une erreur se produit. Si ce paramètre est défini sur NULL, les erreurs ne sont pas signalées.
Valeur de retour
La première version retourne la position actuelle 16 bits dans le mot de bas ordre. Le mot à ordre élevé n’est pas différent de zéro si une erreur s’est produite.
La deuxième version retourne la position 32 bits.
Notes
Lorsqu’il traite la valeur retournée, le contrôle met à jour sa position actuelle en fonction de la légende de la fenêtre de pote. Le contrôle retourne une erreur s’il n’existe aucune fenêtre de pote ou si la légende spécifie une valeur non valide ou hors plage.
CSpinButtonCtrl ::GetRange
Récupère les limites supérieures et inférieures (plage) d’un contrôle de bouton de rotation.
DWORD GetRange() const;
void GetRange(
int& lower,
int& upper) const;
void GetRange32(
int& lower,
int &upper) const;
Paramètres
lower
Référence à un entier qui reçoit la limite inférieure pour le contrôle.
upper
Référence à un entier qui reçoit la limite supérieure du contrôle.
Valeur de retour
La première version retourne une valeur 32 bits contenant les limites supérieures et inférieures. Le mot de bas ordre est la limite supérieure pour le contrôle, et le mot de classement élevé est la limite inférieure.
Notes
La fonction GetRange32
membre récupère la plage du contrôle spin button sous la forme d’un entier 32 bits.
CSpinButtonCtrl ::SetAccel
Définit l’accélération d’un contrôle de bouton de rotation.
BOOL SetAccel(
int nAccel,
UDACCEL* pAccel);
Paramètres
nAccel
Nombre de structures UDACCEL spécifiées par pAccel.
pAccel
Pointeur vers un tableau de structures UDACCEL, qui contiennent des informations d’accélération. Les éléments doivent être triés dans l’ordre croissant en fonction du nSec
membre.
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
CSpinButtonCtrl ::SetBase
Définit la base d’un contrôle de bouton de rotation.
int SetBase(int nBase);
Paramètres
nBase
Nouvelle valeur de base pour le contrôle. Il peut s’agir de 10 pour decimal ou 16 pour hexadécimal.
Valeur de retour
Valeur de base précédente si elle réussit ou zéro si une base non valide est donnée.
Notes
La valeur de base détermine si la fenêtre de pote affiche des nombres en chiffres décimaux ou hexadécimaux. Les nombres hexadécimaux sont toujours non signés ; Les nombres décimaux sont signés.
CSpinButtonCtrl ::SetBuddy
Définit la fenêtre de copain pour un contrôle de bouton de rotation.
CWnd* SetBuddy(CWnd* pWndBuddy);
Paramètres
pWndBuddy
Pointeur vers la nouvelle fenêtre de copain.
Valeur de retour
Pointeur vers la fenêtre de copain précédente.
Notes
Un contrôle spin est presque toujours associé à une autre fenêtre, telle qu’un contrôle d’édition, qui affiche du contenu. Cette autre fenêtre est appelée « pote » du contrôle spin.
CSpinButtonCtrl ::SetPos
Définit la position actuelle d’un contrôle de bouton de rotation.
int SetPos(int nPos);
int SetPos32(int nPos);
Paramètres
nPos
Nouvelle position pour le contrôle. Cette valeur doit être dans la plage spécifiée par les limites supérieures et inférieures pour le contrôle.
Valeur de retour
Position précédente (précision 16 bits pour SetPos
, précision 32 bits pour SetPos32
).
Notes
SetPos32
définit la position 32 bits.
CSpinButtonCtrl ::SetRange
Définit les limites supérieures et inférieures (plage) d’un contrôle de bouton de rotation.
void SetRange(
short nLower,
short nUpper);
void SetRange32(
int nLower,
int nUpper);
Paramètres
nLower et nUpper
Limites supérieures et inférieures pour le contrôle. Pour SetRange
, aucune limite ne peut être supérieure à UD_MAXVAL ou inférieure à UD_MINVAL ; en outre, la différence entre les deux limites ne peut pas dépasser UD_MAXVAL. SetRange32
ne place aucune restriction sur les limites ; utilisez tous les entiers.
Notes
La fonction SetRange32
membre définit la plage 32 bits pour le contrôle de bouton de rotation.
Remarque
La plage par défaut du bouton de rotation a la valeur maximale définie sur zéro (0) et la valeur minimale définie sur 100. Étant donné que la valeur maximale est inférieure à la valeur minimale, le fait de cliquer sur la flèche vers le haut diminue la position et de cliquer sur la flèche vers le bas l’augmente. Permet CSpinButtonCtrl::SetRange
d’ajuster ces valeurs.
Voir aussi
Exemple de CMNCTRL2 MFC
CWnd, classe
Graphique hiérarchique
CSliderCtrl, classe