关于ModifyStyle无法改变控件属性的解决方法 modifystyle无效

今日在项目中需要根据需要动态的修改Edit控件属性为文本框、密码框,但是发现ModifyStyle增加或移除密码框属性都无法生效,解决这个问题步骤: 1、新增一个函数ModifyControlStyle【参见下文具体内容】 2、调用代码
函数代码: BOOLModifyControlStyle(CWnd* pWnd,LPCTSTR lpszClassName,DWORDdwRemove,DWORD dwAdd,DWORD dwRemoveEx,DWORD dwAddEx){CWnd* pParentWnd = pWnd->GetParent();
CFont* pFont = pWnd->GetFont();
CString strText;pWnd->GetWindowText(strText);
CRect rcWindow;pWnd->GetWindowRect(&rcWindow);pParentWnd->ScreenToClient(rcWindow);
DWORD dwNewStyle = (pWnd->GetStyle()& ~dwRemove) | dwAdd;DWORD dwNewStyleEx = (pWnd->GetExStyle()& ~dwRemoveEx) | dwAddEx;
关于ModifyStyle无法改变控件属性的解决方法 modifystyle无效
UINT nID = pWnd->GetDlgCtrlID();
pWnd->ShowWindow(SW_HIDE);pWnd->DestroyWindow();
BOOL bResult =pWnd->CreateEx(dwNewStyleEx,lpszClassName,strText,dwNewStyle,rcWindow,pParentWnd,nID);
pWnd->SetFont(pFont);
return bResult;}
调用代码: 1、增加密码属性 CWnd* pWnd =GetDlgItem(IDC_EDIT_SPECULATION);ModifyControlStyle(pWnd,"Edit",0,ES_PASSWORD,0,0); 2、移除密码属性 CWnd* pWnd =GetDlgItem(IDC_EDIT_SPECULATION);ModifyControlStyle(pWnd,"Edit",ES_PASSWORD,0,0,0);

  

爱华网本文地址 » http://www.aihuau.com/a/25101014/223625.html

更多阅读

鼠标右键无法使用的解决方法 鼠标右键无法复制粘贴

我们在操作电脑的时候经常会发现我们的鼠标右键无法使用,遇到这种情况大多数网友会采取更换鼠标来解决,但是问题依旧存在。这多数是由于我们的鼠标右键被锁死导致的。鼠标右键无法使用的解决方法——工具/原料系统注册表鼠标右键无

“word无法启动转换器mswrd632 wpc”的解决方法 word mswrd632.wpc

打开WORD文档时提示“word无法启动转换器mswrd632 wpc”的解决方法因为之前安装的是精简版的office 2003,导致系统找不到这个文件,出现标题上的问题“Word无法启动转换器mswrd632 wpc”,点击确定后虽然可以关闭,但每次打开word 都会再

贴吧无法发帖或回复的解决方法 贴吧怎么发帖

很多吧友在使用贴吧时,经常会点击发表没有反应,或者发帖框消失,希望这篇经验对大家有帮助。贴吧无法发帖或回复的解决方法——1.浏览器缓存长期未清理贴吧无法发帖或回复的解决方法 1、很多问题其实都是因为长期不清理浏览器缓存造成

Windows无法验证发行者的解决方法 ipa文件

Windows无法验证发行者的解决方法——简介【由于无法验证发布者,所以Windows已经阻止此软件】【Windows已经阻止此软件因为无法验证发行者】有时我们安装网页插件,需要下载安装时会提示Windows无法验证发行者而无法安装的情况,以下是

声明:《关于ModifyStyle无法改变控件属性的解决方法 modifystyle无效》为网友装逼做作死的快分享!如侵犯到您的合法权益请联系我们删除