Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Opmerking
De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.
De CMFCMaskedEdit klasse ondersteunt een gemaskeerd besturingselement voor bewerken, waarmee gebruikersinvoer wordt gevalideerd op basis van een masker en de gevalideerde resultaten worden weergegeven op basis van een sjabloon.
Syntaxis
class CMFCMaskedEdit : public CEdit
Leden
Openbare constructors
| Naam | Description |
|---|---|
CMFCMaskedEdit::CMFCMaskedEdit |
Standaardconstructor. |
CMFCMaskedEdit::~CMFCMaskedEdit |
Destructor. |
Openbare methoden
| Naam | Description |
|---|---|
| CMFCMaskedEdit::D isableMask | Hiermee schakelt u het valideren van gebruikersinvoer uit. |
| CMFCMaskedEdit::EnableGetMaskedCharsOnly | Hiermee geeft u op of de GetWindowText methode alleen gemaskeerde tekens ophaalt. |
| CMFCMaskedEdit::EnableMask | Initialiseert het gemaskeerde besturingselement voor bewerken. |
| CMFCMaskedEdit::EnableSelectByGroup | Hiermee geeft u op of het gemaskeerde besturingselement bepaalde groepen gebruikersinvoer of alle gebruikersinvoer selecteert. |
| CMFCMaskedEdit::EnableSetMaskedCharsOnly | Hiermee geeft u op of de tekst wordt gevalideerd voor alleen gemaskeerde tekens of voor het hele masker. |
CMFCMaskedEdit::GetThisClass |
Wordt door het framework gebruikt om een aanwijzer te verkrijgen naar het CRuntimeClass-object dat is gekoppeld aan dit klassetype. |
| CMFCMaskedEdit::GetWindowText | Hiermee haalt u gevalideerde tekst op uit het gemaskeerde bewerkingsbesturingselement. |
| CMFCMaskedEdit::SetValidChars | Hiermee geeft u een tekenreeks met geldige tekens op die de gebruiker kan invoeren. |
| CMFCMaskedEdit::SetWindowText | Geeft een prompt weer in het besturingselement voor gemaskeerde bewerking. |
Beveiligde methoden
| Naam | Description |
|---|---|
| CMFCMaskedEdit::IsMaskedChar | Aangeroepen door het framework om het opgegeven teken te valideren op basis van het bijbehorende maskerteken. |
Opmerkingen
Voer de volgende stappen uit om het CMFCMaskedEdit besturingselement in uw toepassing te gebruiken:
Sluit een
CMFCMaskedEditobject in uw vensterklasse in.Roep de CMFCMaskedEdit::EnableMask-methode aan om het masker op te geven.
Roep de CMFCMaskedEdit::SetValidChars-methode aan om de lijst met geldige tekens op te geven.
Roep de methode CMFCMaskedEdit::SetWindowText aan om de standaardtekst voor het gemaskeerde besturingselement voor bewerken op te geven.
Roep de methode CMFCMaskedEdit::GetWindowText aan om de gevalideerde tekst op te halen.
Als u geen of meer methoden aanroept om het masker, geldige tekens en standaardtekst te initialiseren, gedraagt het gemaskeerde besturingselement zich net zoals het standaardbesturingselement voor bewerken gedraagt.
Example
In het volgende voorbeeld ziet u hoe u een masker (bijvoorbeeld een telefoonnummer) instelt met behulp van de EnableMask methode voor het maken van het masker voor het besturingselement voor gemaskeerde bewerking, de methode voor het SetValidChars opgeven van een tekenreeks met geldige tekens die de gebruiker kan invoeren en SetWindowText een methode om een prompt weer te geven in het gemaskeerde bewerkingsbesturingselement. Dit voorbeeld maakt deel uit van het voorbeeld Nieuwe besturingselementen.
CMFCMaskedEdit m_wndMaskEdit1;
CMFCMaskedEdit m_wndMaskEdit2;
CMFCMaskedEdit m_wndMaskEdit3;
CMFCMaskedEdit m_wndMaskEdit4;
CMFCMaskedEdit m_wndMaskEdit5;
CString m_strValue1;
CString m_strValue2;
CString m_strValue3;
CString m_strValue4;
CString m_strValue5;
BOOL CPage4::OnInitDialog()
{
CMFCPropertyPage::OnInitDialog();
// Mask 1: phone number
m_wndMaskEdit1.EnableMask(_T(" ddd ddd dddd"), // The mask string
_T("(___) ___-____"), // Literal, "_" char = character entry
_T(' ')); // Default char
m_wndMaskEdit1.SetValidChars(NULL); // Valid string characters
m_wndMaskEdit1.SetWindowText(_T("(123) 123-1212"));
// Mask 2: State, Zip Code
m_wndMaskEdit2.EnableMask(_T(" cc ddddd-dddd"), // The mask string
_T("State: __, Zip: _____-____"), // Literal, "_" char = character entry
_T(' ')); // Backspace replace char
m_wndMaskEdit2.SetValidChars(NULL); // Valid string characters
m_wndMaskEdit2.SetWindowText(_T("State: NY, Zip: 12345-6789"));
// Mask 3: serial code
m_wndMaskEdit3.EnableMask(_T(" AAAA AAAA AAAA AAAA"), // The mask string
_T("S/N: ____-____-____-____"), // Literal, "_" char = character entry
_T('_')); // Backspace replace char
m_wndMaskEdit3.SetValidChars(NULL); // Valid string characters
m_wndMaskEdit3.SetWindowText(_T("S/N: FPR5-5678-1234-8765"));
// Mask 4: 0xFFFF
m_wndMaskEdit4.EnableMask(_T(" AAAA"), // The mask string
_T("0x____"), // Literal, "_" char = character entry
_T('_')); // Backspace replace char
m_wndMaskEdit4.SetValidChars(_T("1234567890ABCDEFabcdef")); // Valid string characters
m_wndMaskEdit4.SetWindowText(_T("0x01AF"));
// Mask 5: digits only
m_wndMaskEdit5.DisableMask(); // Don't use the mask
m_wndMaskEdit5.SetValidChars(_T("1234567890")); // Valid string characters
m_wndMaskEdit5.SetWindowText(_T("1234567890"));
return TRUE; // return TRUE unless you set the focus to a control
}
void CPage4::OnButtonGet()
{
m_wndMaskEdit1.GetWindowText(m_strValue1);
m_wndMaskEdit2.GetWindowText(m_strValue2);
m_wndMaskEdit3.GetWindowText(m_strValue3);
m_wndMaskEdit4.GetWindowText(m_strValue4);
m_wndMaskEdit5.GetWindowText(m_strValue5);
UpdateData(FALSE);
}
Overnamehiërarchie
Requirements
Header: afxmaskededit.h
CMFCMaskedEdit::D isableMask
Hiermee schakelt u het valideren van gebruikersinvoer uit.
void DisableMask();
Opmerkingen
Als validatie van gebruikersinvoer is uitgeschakeld, gedraagt het gemaskeerde bewerkingsbesturingselement zich als het standaardbesturingselement voor bewerken.
CMFCMaskedEdit::EnableGetMaskedCharsOnly
Hiermee geeft u op of de GetWindowText methode alleen gemaskeerde tekens ophaalt.
void EnableGetMaskedCharsOnly(BOOL bEnable=TRUE);
Parameterwaarden
bEnable
[in] TRUE om op te geven dat de CMFCMaskedEdit::GetWindowText-methode alleen gemaskeerde tekens ophaalt; FALSE om op te geven dat de methode de hele tekst ophaalt. De standaardwaarde is WAAR.
Opmerkingen
Gebruik deze methode om gemaskeerde tekens op te halen. Maak vervolgens een gemaskeerd bewerkingsbesturingselement dat overeenkomt met het telefoonnummer, zoals (425) 555-0187. Als u de GetWindowText methode aanroept, wordt '4255550187' geretourneerd. Als u het ophalen van gemaskeerde tekens uitschakelt, retourneert de GetWindowText methode de tekst die wordt weergegeven in het besturingselement bewerken, bijvoorbeeld '(425) 555-0187'.
CMFCMaskedEdit::EnableMask
Initialiseert het gemaskeerde besturingselement voor bewerken.
void EnableMask(
LPCTSTR lpszMask,
LPCTSTR lpszInputTemplate,
TCHAR chMaskInputTemplate=_T('_'),
LPCTSTR lpszValid=NULL);
Parameterwaarden
lpszMask
[in] Een maskertekenreeks die het type teken aangeeft dat op elke positie in de gebruikersinvoer kan worden weergegeven. De lengte van de parametertekenreeksen lpszInputTemplate en lpszMask moeten hetzelfde zijn. Zie de sectie Opmerkingen voor meer informatie over maskertekens.
lpszInputTemplate
[in] Een maskersjabloontekenreeks die de letterlijke tekens aangeeft die op elke positie in de gebruikersinvoer kunnen worden weergegeven. Gebruik het onderstrepingsteken ('_') als tijdelijke aanduiding voor tekens. De lengte van de parametertekenreeksen lpszInputTemplate en lpszMask moeten hetzelfde zijn.
chMaskInputTemplate
[in] Een standaardteken dat door het framework wordt vervangen door elk ongeldig teken in de gebruikersinvoer. De standaardwaarde van deze parameter is onderstrepingsteken ('_').
lpszValid
[in] Een tekenreeks die een set geldige tekens bevat. NULL geeft aan dat alle tekens geldig zijn. De standaardwaarde van deze parameter is NULL.
Opmerkingen
Gebruik deze methode om het masker voor het gemaskeerde bewerkingsbesturingselement te maken. Leid een klasse af van de CMFCMaskedEdit klasse en overschrijf de METHODE CMFCMaskedEdit::IsMaskedChar om uw eigen code te gebruiken voor aangepaste maskerverwerking.
De volgende tabel bevat de standaardmaskertekens:
| Maskerteken | Definition |
|---|---|
| D | Cijfer. |
| d | Cijfer of spatie. |
| + | Plus ('+'), min ('-'), of spatie. |
| C | Alfabetisch teken. |
| c | Alfabetisch teken of spatie. |
| A | Alfanumeriek teken. |
| a | Alfanumeriek teken of spatie. |
| * | Een afdrukbaar teken. |
CMFCMaskedEdit::EnableSelectByGroup
Hiermee geeft u op of de gebruiker met het besturingselement voor gemaskeerde bewerking bepaalde groepsinvoer of alle invoer kan selecteren.
void EnableSelectByGroup(BOOL bEnable=TRUE);
Parameterwaarden
bEnable
[in] WAAR om alleen groepen te selecteren; ONWAAR om de hele tekst te selecteren. De standaardwaarde is WAAR.
Opmerkingen
Gebruik deze functie om op te geven of met het besturingselement voor gemaskeerde bewerking een gebruiker kan selecteren per groep of de hele tekst.
Selectie per groep is standaard ingeschakeld. In dit geval kan de gebruiker alleen doorlopende groepen geldige tekens selecteren.
U kunt bijvoorbeeld het volgende besturingselement voor gemaskeerde bewerking gebruiken om een telefoonnummer te valideren:
m_wndMaskEdit.EnableMask(
_T(" ddd ddd dddd"), // Mask string
_T("(___) ___-____"), // Template string
_T(' ')); // Default char
m_wndMaskEdit.SetValidChars(NULL); // All characters are valid.
m_wndMaskEdit.SetWindowText(_T("(425) 555-0187")); // Prompt
Als selectie per groep is ingeschakeld, kan de gebruiker alleen de tekenreeksgroepen 425, 555 of 0187 ophalen. Als groepsselectie is uitgeschakeld, kan de gebruiker de hele tekst van het telefoonnummer ophalen: "(425) 555-0187".
CMFCMaskedEdit::EnableSetMaskedCharsOnly
Hiermee geeft u op of de tekst alleen wordt gevalideerd voor de gemaskeerde tekens of voor het hele masker.
void EnableSetMaskedCharsOnly(BOOL bEnable=TRUE);
Parameterwaarden
bEnable
[in] WAAR om de invoer van de gebruiker te valideren op basis van alleen gemaskeerde tekens; FALSE om te valideren op basis van het hele masker. De standaardwaarde is WAAR.
CMFCMaskedEdit::GetWindowText
Hiermee haalt u gevalideerde tekst op uit het gemaskeerde bewerkingsbesturingselement.
int GetWindowText(
LPTSTR lpszStringBuf,
int nMaxCount) const;
void GetWindowText(CString& rstrString) const;
Parameterwaarden
lpszStringBuf
[uit] Een aanwijzer naar een buffer die de tekst van het besturingselement bewerken ontvangt.
nMaxCount
[in] Het maximum aantal tekens dat moet worden ontvangen.
rstrString
[uit] Een verwijzing naar het tekenreeksobject dat de tekst van het besturingselement bewerken ontvangt.
Retourwaarde
De eerste overbelasting van de methode retourneert het aantal bytes van de tekenreeks die wordt gekopieerd naar de parameterbuffer lpszStringBuf ; 0 als het besturingselement voor gemaskeerde bewerking geen tekst bevat.
Opmerkingen
Met deze methode wordt de tekst van het gemaskeerde bewerkingsbesturingselement gekopieerd naar de buffer lpszStringBuf of de rstrString-tekenreeks .
Met deze methode wordt CWnd::GetWindowText opnieuw gedefinieerd.
CMFCMaskedEdit::IsMaskedChar
Aangeroepen door het framework om het opgegeven teken te valideren op basis van het bijbehorende maskerteken.
virtual BOOL IsMaskedChar(
TCHAR chChar,
TCHAR chMaskChar) const;
Parameterwaarden
chChar
[in] Het teken dat moet worden gevalideerd.
chMaskChar
[in] Het bijbehorende teken uit de maskertekenreeks.
Retourwaarde
WAAR als de parameter chChar het type teken is dat is toegestaan door de parameter chMaskChar ; anders, ONWAAR.
Opmerkingen
Overschrijf deze methode om zelf invoertekens te valideren. Zie de methode CMFCMaskedEdit::EnableMaskk voor meer informatie over maskertekens.
CMFCMaskedEdit::SetValidChars
Hiermee geeft u een tekenreeks met geldige tekens op die de gebruiker kan invoeren.
void SetValidChars(LPCTSTR lpszValid=NULL);
Parameterwaarden
lpszValid
[in] Een tekenreeks die de set geldige invoertekens bevat. NULL betekent dat alle tekens geldig zijn. De standaardwaarde van deze parameter is NULL.
Opmerkingen
Gebruik deze methode om een lijst met geldige tekens te definiëren. Als een invoerteken zich niet in deze lijst bevindt, wordt het gemaskeerde bewerkingsbesturingselement niet geaccepteerd.
In het volgende codevoorbeeld worden alleen hexadecimale getallen geaccepteerd.
//Mask: 0xFFFF
m_wndMaskEdit.EnableMask(
_T(" AAAA"), // The mask string.
_T("0x____"), // The literal template string.
_T('_')); // The default character that
// replaces the backspace character.
// Valid string characters
m_wndMaskEdit.SetValidChars(_T("1234567890ABCDEFabcdef"));m_wndMaskEdit.SetWindowText(_T("0x01AF"));
CMFCMaskedEdit::SetWindowText
Geeft een prompt weer in het besturingselement voor gemaskeerde bewerking.
void SetWindowText(LPCTSTR lpszString);
Parameterwaarden
lpszString
[in] Verwijst naar een door null beëindigde tekenreeks die wordt gebruikt als een prompt.
Opmerkingen
Met deze methode stelt u de besturingselementtekst in.
Met deze methode wordt CWnd::SetWindowText opnieuw gedefinieerd.