曲线解决CMFCPropertyGridCtrl掩码的bug2009年12月30日 星期三 下午 01:24CMFCPropertyGridCtrl这个控件当用到掩码时,会有问题.解决办法用其他掩码替代.下面是一个IP掩码处理方法.代码如下
来源:互联网 发布:藏獒神话破灭 知乎 编辑:程序博客网 时间:2024/04/29 10:10
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;
}
- 曲线解决CMFCPropertyGridCtrl掩码的bug2009年12月30日 星期三 下午 01:24CMFCPropertyGridCtrl这个控件当用到掩码时,会有问题.解决办法用其他掩码替代.下面是一个IP掩码处理方法.代码如下
- 掩码
- 掩码
- 掩码
- 掩码
- ip与掩码处理
- 几个ip ,掩码, arp问题
- SetThreadAffinityMask中掩码的问题
- 取ip、掩码、网关
- 计算IP网段,掩码
- 进程信号掩码处理
- 矩阵的掩码操作
- 矩阵的掩码操作
- 矩阵的掩码操作
- 掩码文本框
- 2121 掩码
- 求掩码
- 位掩码
- 一个优秀的研发团队应该具备什么特征
- VS2005 服务器控件不显示, 工具栏选项卡 .net FrameWork组建无法加载
- 孙鑫VC学习笔记 6(2)
- 循环展开(loop unrolling / loop unwinding)
- 探测qq启动与否
- 曲线解决CMFCPropertyGridCtrl掩码的bug2009年12月30日 星期三 下午 01:24CMFCPropertyGridCtrl这个控件当用到掩码时,会有问题.解决办法用其他掩码替代.下面是一个IP掩码处理方法.代码如下
- 浅谈线程池(上):线程池的作用及CLR线程池
- HTML插入Flash
- SQL语句的优化(Oracle)
- 浅谈线程池(中):独立线程池的作用及IO线程池
- 学习笔记 vs2008+sql2005+jquery1.4+json+ajax省市区三级连动
- 浅谈线程池(下):相关试验及注意事项
- TweenMax中文帮助手册
- 三极管振荡电路