Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megjegyzés:
A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.
Az CMFCMaskedEdit osztály támogatja a maszkolt szerkesztési vezérlőt, amely ellenőrzi a felhasználói bemenetet egy maszkon, és egy sablon alapján jeleníti meg az ellenőrzött eredményeket.
Szemantika
class CMFCMaskedEdit : public CEdit
Tagok
Nyilvános konstruktorok
| Név | Description |
|---|---|
CMFCMaskedEdit::CMFCMaskedEdit |
Alapértelmezett konstruktor. |
CMFCMaskedEdit::~CMFCMaskedEdit |
Destruktor. |
Nyilvános metódusok
| Név | Description |
|---|---|
| CMFCMaskedEdit::D isableMask | Letiltja a felhasználói bevitel érvényesítését. |
| CMFCMaskedEdit::EnableGetMaskedCharsOnly | Megadja, hogy a GetWindowText metódus csak maszkolt karaktereket kér-e le. |
| CMFCMaskedEdit::EnableMask | Inicializálja a maszkolt szerkesztési vezérlőt. |
| CMFCMaskedEdit::EnableSelectByGroup | Megadja, hogy a maszkolt szerkesztési vezérlő kiválasztja-e a felhasználói bevitel adott csoportjait, vagy az összes felhasználói bemenetet. |
| CMFCMaskedEdit::EnableSetMaskedCharsOnly | Azt határozza meg, hogy a szöveg csak maszkolt karaktereken vagy a teljes maszkon legyen érvényesítve. |
CMFCMaskedEdit::GetThisClass |
A keretrendszer az ehhez az osztálytípushoz társított CRuntimeClass objektumra mutató mutató lekéréséhez használja. |
| CMFCMaskedEdit::GetWindowText | Érvényesített szöveget kér le a maszkolt szerkesztési vezérlőből. |
| CMFCMaskedEdit::SetValidChars | A felhasználó által megadható érvényes karakterek sztringje. |
| CMFCMaskedEdit::SetWindowText | Megjelenik egy üzenet a maszkolt szerkesztési vezérlőben. |
Védett metódusok
| Név | Description |
|---|---|
| CMFCMaskedEdit::IsMaskedChar | A keretrendszer meghívta, hogy ellenőrizze a megadott karaktert a megfelelő maszkkaraktere alapján. |
Megjegyzések
A vezérlő alkalmazásbeli használatához hajtsa végre a CMFCMaskedEdit következő lépéseket:
Objektum beágyazása
CMFCMaskedEditaz ablakosztályba.Hívja meg a CMFCMaskedEdit::EnableMask metódust a maszk megadásához.
Hívja meg a CMFCMaskedEdit::SetValidChars metódust az érvényes karakterek listájának megadásához.
Hívja meg a CMFCMaskedEdit::SetWindowText metódust a maszkolt szerkesztési vezérlő alapértelmezett szövegének megadásához.
Hívja meg a CMFCMaskedEdit::GetWindowText metódust az érvényesített szöveg lekéréséhez.
Ha nem hív meg egy vagy több metódust a maszk, az érvényes karakterek és az alapértelmezett szöveg inicializálására, a maszkolt szerkesztési vezérlő ugyanúgy viselkedik, mint a szokásos szerkesztési vezérlő.
Example
Az alábbi példa bemutatja, hogyan állíthat be maszkot (például telefonszámot) a EnableMask maszkolt szerkesztési vezérlő maszkjának létrehozásához használt módszerrel, SetValidChars a felhasználó által megadható érvényes karaktersorozat megadásának módszerével, valamint SetWindowText a maszkolt szerkesztési vezérlőben megjelenő üzenettel. Ez a példa az Új vezérlők minta része.
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);
}
Öröklési hierarchia
Requirements
Fejléc: afxmaskededit.h
CMFCMaskedEdit::D isableMask
Letiltja a felhasználói bevitel érvényesítését.
void DisableMask();
Megjegyzések
Ha a felhasználói bevitel ellenőrzése le van tiltva, a maszkolt szerkesztési vezérlő a szokásos szerkesztési vezérlőhöz hasonlóan viselkedik.
CMFCMaskedEdit::EnableGetMaskedCharsOnly
Megadja, hogy a GetWindowText metódus csak maszkolt karaktereket kér-e le.
void EnableGetMaskedCharsOnly(BOOL bEnable=TRUE);
Paraméterek
bEnable
[in] IGAZ érték annak megadásához, hogy a CMFCMaskedEdit::GetWindowText metódus csak maszkolt karaktereket kér le; HAMIS érték annak megadásához, hogy a metódus lekéri a teljes szöveget. Az alapértelmezett érték TRUE.
Megjegyzések
Ezzel a módszerrel engedélyezheti a maszkolt karakterek beolvasását. Ezután hozzon létre egy maszkolt szerkesztési vezérlőt, amely megfelel a telefonszámnak, például a (425) 555-0187 telefonszámnak. Ha meghívja a metódust GetWindowText , az a "4255550187" értéket adja vissza. Ha letiltja a maszkolt karakterek beolvasását, a metódus a GetWindowText szerkesztési vezérlőben megjelenő szöveget adja vissza, például: "(425) 555-0187".
CMFCMaskedEdit::EnableMask
Inicializálja a maszkolt szerkesztési vezérlőt.
void EnableMask(
LPCTSTR lpszMask,
LPCTSTR lpszInputTemplate,
TCHAR chMaskInputTemplate=_T('_'),
LPCTSTR lpszValid=NULL);
Paraméterek
lpszMask
[in] Maszksztring, amely megadja a felhasználói bemenet minden egyes helyén megjeleníthető karaktertípust. Az lpszInputTemplate és az lpszMask paramétersztringek hosszának meg kell egyeznie. A maszkkarakterekről további információt a Megjegyzések szakaszban talál.
lpszInputTemplate
[in] Egy maszksablon sztringje, amely megadja a felhasználói bemenet minden egyes helyén megjeleníthető literális karaktereket. Használja az aláhúzásjelet ('_') karakterhelyőrzőként. Az lpszInputTemplate és az lpszMask paramétersztringek hosszának meg kell egyeznie.
chMaskInputTemplate
[in] Egy alapértelmezett karakter, amelyet a keretrendszer a felhasználói bemenet minden érvénytelen karakterére helyettesít. Ennek a paraméternek az alapértelmezett értéke az aláhúzás ('_').
lpszValid
[in] Érvényes karaktereket tartalmazó sztring. A NULL érték azt jelzi, hogy az összes karakter érvényes. Ennek a paraméternek az alapértelmezett értéke NULL.
Megjegyzések
Ezzel a módszerrel hozhatja létre a maszkolt szerkesztési vezérlőhöz tartozó maszkot. Az osztályból CMFCMaskedEdit származtathat egy osztályt, és felülbírálhatja a CMFCMaskedEdEdit::IsMaskedChar metódust a saját kódjának egyéni maszkfeldolgozáshoz való használatához.
Az alábbi táblázat az alapértelmezett maszkkarakterek listáját tartalmazza:
| Maszkoló karakter | Definition |
|---|---|
| D | Számjegy. |
| d | Számjegy vagy szóköz. |
| + | Plusz ('+'), mínusz ('-') vagy szóköz. |
| C | Betűrendes karakter. |
| c | Betűrendes karakter vagy szóköz. |
| A | Alfanumerikus karakter. |
| a | Alfanumerikus karakter vagy szóköz. |
| * | Nyomtatható karakter. |
CMFCMaskedEdit::EnableSelectByGroup
Megadja, hogy a maszkolt szerkesztési vezérlő lehetővé teszi-e a felhasználó számára adott csoportok bemenetének vagy az összes bemenetnek a kiválasztását.
void EnableSelectByGroup(BOOL bEnable=TRUE);
Paraméterek
bEnable
[in] IGAZ, ha csak csoportokat szeretne kijelölni; HAMIS a teljes szöveg kijelöléséhez. Az alapértelmezett érték TRUE.
Megjegyzések
Ezzel a függvénnyel megadhatja, hogy a maszkolt szerkesztési vezérlő lehetővé teszi-e a felhasználó számára a csoport vagy a teljes szöveg szerinti kijelölést.
Alapértelmezés szerint a csoport szerinti kijelölés engedélyezve van. Ebben az esetben a felhasználó csak az érvényes karakterek folyamatos csoportjait választhatja ki.
A telefonszám ellenőrzéséhez például a következő maszkolt szerkesztési vezérlőt használhatja:
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
Ha a csoport szerinti kijelölés engedélyezve van, a felhasználó csak a "425", az "555" vagy a "0187" sztringcsoportot tudja lekérni. Ha a csoportválasztás le van tiltva, a felhasználó lekérheti a telefonszám teljes szövegét: "(425) 555-0187".
CMFCMaskedEdit::EnableSetMaskedCharsOnly
Azt határozza meg, hogy a szöveg csak a maszkolt karaktereken vagy a teljes maszkon legyen érvényesítve.
void EnableSetMaskedCharsOnly(BOOL bEnable=TRUE);
Paraméterek
bEnable
[in] IGAZ, ha csak maszkolt karakterekre szeretné érvényesíteni a felhasználói bemenetet; HAMIS a teljes maszkon való ellenőrzéshez. Az alapértelmezett érték TRUE.
CMFCMaskedEdit::GetWindowText
Érvényesített szöveget kér le a maszkolt szerkesztési vezérlőből.
int GetWindowText(
LPTSTR lpszStringBuf,
int nMaxCount) const;
void GetWindowText(CString& rstrString) const;
Paraméterek
lpszStringBuf
[kifelé] Egy olyan pufferre mutató mutató, amely a szerkesztési vezérlőtől fogadja a szöveget.
nMaxCount
[in] A fogadandó karakterek maximális száma.
rstrString
[kifelé] Hivatkozás arra a sztringobjektumra, amely a szerkesztési vezérlőtől fogadja a szöveget.
Visszaadott érték
Az első metódus túlterhelése az lpszStringBuf paraméterpufferbe másolt sztring bájtjainak számát adja vissza; 0, ha a maszkolt szerkesztési vezérlőben nincs szöveg.
Megjegyzések
Ez a metódus átmásolja a szöveget a maszkolt szerkesztési vezérlőből az lpszStringBuf pufferbe vagy az rstrString sztringbe .
Ez a metódus újradefiniálja a CWnd::GetWindowText parancsot.
CMFCMaskedEdit::IsMaskedChar
A keretrendszer meghívta, hogy ellenőrizze a megadott karaktert a megfelelő maszkkaraktere alapján.
virtual BOOL IsMaskedChar(
TCHAR chChar,
TCHAR chMaskChar) const;
Paraméterek
chChar
[in] Az érvényesítendő karakter.
chMaskChar
[in] A maszk sztringjének megfelelő karaktere.
Visszaadott érték
IGAZ, ha a chChar paraméter a chMaskChar paraméter által megengedett karaktertípus; egyéb esetben HAMIS.
Megjegyzések
A metódus felülbírálása a bemeneti karakterek önálló érvényesítéséhez. A maszkkarakterekről további információt a CMFCMaskedEdit::EnableMask metódusban talál.
CMFCMaskedEdit::SetValidChars
A felhasználó által megadható érvényes karakterek sztringje.
void SetValidChars(LPCTSTR lpszValid=NULL);
Paraméterek
lpszValid
[in] Érvényes bemeneti karaktereket tartalmazó sztring. A NULL azt jelenti, hogy minden karakter érvényes. Ennek a paraméternek az alapértelmezett értéke NULL.
Megjegyzések
Ezzel a módszerrel definiálhatja az érvényes karakterek listáját. Ha egy bemeneti karakter nincs a listában, a maszkolt szerkesztési vezérlő nem fogadja el.
Az alábbi példakód csak hexadecimális számokat fogad el.
//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
Megjelenik egy üzenet a maszkolt szerkesztési vezérlőben.
void SetWindowText(LPCTSTR lpszString);
Paraméterek
lpszString
[in] Egy null értékű sztringre mutat, amelyet a rendszer parancssorként fog használni.
Megjegyzések
Ez a metódus beállítja a vezérlőszöveget.
Ez a metódus újradefiniálja a CWnd::SetWindowText parancsot.