CMFCMaskedEdit 类支持掩码编辑控件,此控件利用掩码验证用户输入,并根据模板显示验证的结果。
CIPAddressCtrl 类提供 Windows 公共 IP 地址控件的功能
执行以下步骤,以便在应用程序中使用 CMFCMaskedEdit 控件:
- 将 CMFCMaskedEdit 对象嵌入窗口类中。
- 调用 EnableMask 方法来指定掩码。
void EnableMask(
LPCTSTR lpszMask,//一个掩码字符串,指定可在用户输入中的每个位置显示的字符类型
LPCTSTR lpszInputTemplate,// 一个掩码模板字符串,指定可在用户输入中的每个位置显示的文字字符
TCHAR chMaskInputTemplate=T(''),//用于替换用户输入中每个无效字符的默认字符。
LPCTSTR lpszValid=NULL);// - 调用SetValidChars 方法以指定有效字符的列表。
- 调用 SetWindowText 方法以指定掩码编辑控件的默认文本。
- 调用 GetWindowText 方法以检索已验证的文本。
如果不调用一个或多个方法来初始化掩码、有效字符和默认文本,则掩码编辑控件的行为与标准编辑控件的行为一样。
lpszInputTemplate 和 lpszMask 参数字符串的长度必须相同。
例子:
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
- SetValidChars:指定用户可输入的有效字符的字符串。
void SetValidChars(LPCTSTR lpszValid=NULL);//一个包含有效输入字符集的字符串 - SetWindowText:在掩码编辑控件中显示提示。
void SetWindowText(LPCTSTR lpszString);//指向将用作提示的以 null 结尾的字符串。 - GetWindowText:从掩码编辑控件中检索已验证的文本。
int GetWindowText(
LPTSTR lpszStringBuf,//指向从编辑控件接收文本的缓冲区的指针
int nMaxCount) const;//要接收的最大字符数。
void GetWindowText(CString& rstrString) const;//对从编辑控件接收文本的字符串对象的引用
CMFCMaskedEdit类官方分析地址 - CIPAddressCtrl:标头: afxcmn.h
- CIPAddressCtrl::Create
创建 IP 地址控件并将其附加到 CIPAddressCtrl 对象。
virtual BOOL Create(
DWORD dwStyle,//IP 地址控件的样式**, 必须包括 WS_CHILD 样式,因为控件必须是子窗口。**
const RECT& rect,//对 IP 地址控件的大小和位置的引用
CWnd* pParentWnd,//指向 IP 地址控件的父窗口的指针
UINT nID);//IP 地址控件的 ID
-
请分两步构造 CIPAddressCtrl 对象。
调用构造函数,以创建 CIPAddressCtrl 对象。
调用 Create,以创建 IP 地址控件。
如果要将扩展窗口样式与控件一起使用,请调用 CreateEx 而不是 Create。 -
GetAddress:检索 IP 地址控件中所有四个字段的地址值。int GetAddress(DWORD& dwAddress); dwAddress 填充如下。
字段 包含字段值的位
0 24 到 31
1 16 到 23
2 8 到 15
3 0 到 7 -
SetAddress:设置 IP 地址控件中所有四个字段的地址值。void SetAddress(DWORD dwAddress);