CMFCPropertyGridCtrl这个控件当用到掩码时,会有问题.解决办法用其他掩码替代.下面是一个IP掩码处理方法.代码如下
class CMyMaskEditProp : public CMFCPropertyGridProperty
{
public:
CMyMaskEditProp(const CString& strName, const COleVariant& varValue, LPCTSTR lpszDescr = NULL, DWORD_PTR dwData = 0,
LPCTSTR lpszEditMask = NULL, LPCTSTR lpszEditTemplate = NULL, LPCTSTR lpszValidChars = NULL);
virtual BOOL OnUpdateValue();
protected:
virtual CWnd* CreateInPlaceEdit(CRect rectEdit, BOOL& bDefaultFormat);
//virtual BOOL OnSetCursor() const { return FALSE; /* Use default */ }
};
////////////////////////////////////////////////////////////////////////////////
// CMyMaskEditProp class
CMyMaskEditProp::CMyMaskEditProp(const CString& strName, const COleVariant& varValue, LPCTSTR lpszDescr, DWORD_PTR dwData,
LPCTSTR lpszEditMask, LPCTSTR lpszEditTemplate, LPCTSTR lpszValidChars):
CMFCPropertyGridProperty(strName,varValue, lpszDescr,dwData,
lpszEditMask, lpszEditTemplate,lpszValidChars)
{
}
BOOL CMyMaskEditProp::OnUpdateValue()
{
ASSERT_VALID(this);
ASSERT_VALID(m_pWndInPlace);
ASSERT_VALID(m_pWndList);
ASSERT(::IsWindow(m_pWndInPlace->GetSafeHwnd()));
//long lCurrValue = m_varValue.lVal;
CMaskEdit* pWndEdit = (CMaskEdit*) m_pWndInPlace;
CString str;
pWndEdit->GetWindowText(str);
if (str != (char *)(_bstr_t)m_varValue)
{
m_varValue=str;
m_pWndList->OnPropertyChanged(this);
}
return TRUE;
}
CWnd* CMyMaskEditProp::CreateInPlaceEdit(CRect rectEdit, BOOL& bDefaultFormat)
{
CMaskEdit* pWndEdit = new CMaskEdit;
pWndEdit->m_bisTime = FALSE;
pWndEdit->m_isdate = FALSE;
pWndEdit->m_bUseMask = TRUE;
pWndEdit->m_strMask = "000.000.000.000";
pWndEdit->m_strLiteral = "___.___.___.___";
pWndEdit->m_str = "255.255.255.255";
pWndEdit->m_strMaskLiteral = m_varValue.bstrVal;
DWORD dwStyle = WS_VISIBLE | WS_CHILD | ES_AUTOHSCROLL ;
if (!m_bEnabled || !m_bAllowEdit)
{
dwStyle |= ES_READONLY;
}
pWndEdit->Create(dwStyle, rectEdit, m_pWndList, AFX_PROPLIST_ID_INPLACE);
pWndEdit->SetWindowText((char *)(_bstr_t)m_varValue);
bDefaultFormat = TRUE;
return pWndEdit;
}
相关推荐
因为c# 自带的MaskedTextBox 控件 用'_'占位看起来很不舒服 还有就是:如果我要数值 就必须固定数值的位数。 这样真的是 "很烦,很讨厌" 哈哈!!...例:0{4,4}\年0{2,2}\月0{2,2}\日 为日期格式
子网掩码计算器下载/子网掩码计算器单机版--亲测好用 子网掩码计算器下载/子网掩码计算器单机版--亲测好用 子网掩码计算器下载/子网掩码计算器单机版--亲测好用 子网掩码计算器下载/子网掩码计算器单机版--亲测好用 ...
ip地址掩码,反掩码转换。软件支持将掩码长度转换为掩码或反掩码。
Qt中通过设置位图掩码生成异形控件 本实例中是生成了一个视频监控软件中用到的云台控制的八方向按钮操作盘 详细过程见博客: http://blog.csdn.net/masikkk/article/details/8728441
子网掩码计算器子网掩码计算器子网掩码计算器子网掩码计算器子网掩码计算器子网掩码计算器子网掩码计算器
好用的子网掩码计算,非常方便。
目前为止最好用的: IPV6子网掩码计算器
shell实现netmask掩码和cidr掩码位转换1
子网掩码计算子网掩码计算子网掩码计算子网掩码计算子网掩码计算子网掩码计算
如255.255.255.0转换成二进制,那就是11111111.11111111.11111111.00000000,后面有8颗0,那m就是8,255.255.255.0这个子网掩码可以容纳2的8次方(台)电脑,也就是256台,但是有两个IP是不能用的,那就是最后一段...
数字掩码的一些问题 oracle 开发中经常会对数字类型设置掩码,小小总结了一下
每次给掩码让你口算对应ip段是不是很烦,有了这个工具再也不怕给掩码算不出对应的ip段了
中文子网掩码和通配符掩码计算器 简单实用
子网掩码及其应用子网掩码及其应用子网掩码及其应用子网掩码及其应用子网掩码及其应用
根据网段ip和掩码自动计算ip段,ip相关操作基础类。包括:根据 ip/掩码位 计算IP段的起始IP;根据 ip/掩码位 计算IP段的终止IP;计算子网大小等。
当我们在网络运维中经常会遇见有大量的网段须计算出掩码或反掩码后才能将配置刷到设备中,介绍如何利用excel notepad UE 快速将2万多网段快速计算完成。
子网掩码计算器子网掩码计算器子网掩码计算器子网掩码计算器子网掩码计算器子网掩码计算器子网掩码计算器子网掩码计算器子网掩码计算器
五个子网掩码计算器,肯定有一个好用的。子网掩码 子网掩码计算器 子网掩码计算机 5个子网掩码计算器 子网 子网掩码计算器,有五种。
子网掩码IP计算器子网掩码IP计算器子网掩码IP计算器子网掩码IP计算器子网掩码IP计算器子网掩码IP计算器子网掩码IP计算器子网掩码IP计算器子网掩码IP计算器子网掩码IP计算器