- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
vc常用技巧总2
CEdit : : OnChar (nChar, nRepCnt , nFlags )}如果要修改字符,则不能仅仅简单地用修改过的nChar调用CEdit: : OnChar,然后CEdit: : OnChar调用CWnd: : Default获取原来的wParam 和lParam 的值,这样是不行的。要修改一个字符,需要首先修改nChar,然后用修改过的nChar调用CWnd: : DefWindowProc。下例说明了如何将字符转变为大写://Make all characters uppercasevoid CMyEdit : : OnChar (UINT nChar , UINT nRepCnt , UINT nFlags ){//Make sure character is uppercase .if (: : IsCharAlpha ( .( TCHAR) nChar)nChar=: : CharUpper(nChar )//Bypass default OnChar processing and directly call//default window proc.DefWindProc (WM_CHAR, nChar , MAKELPARAM (nRepCnt, nFlags ))}
续:(48) 如何改变控件的颜色有两种方法。其一,可以在父类中指定控件的颜色,或者利用MFC4.0新的消息反射在控件类中指定颜色。 当控件需要重新着色时,工作框调用父窗口(通常是对话框)的CWnd: : OnCrtlColor,可以在父窗口类中重置该函数并指定控件的新的绘画属性。例如,下述代码将对话中的所有编辑控件文本颜色改为红色:HBRUSH CAboutDig : : OnCtlColor (CDC * pDCM , CWnd * pWnd , UINT nCtlColor){HBRUSH hbr = CDialog : : OnCtlColor (pDC, pWnd , nCtlColor )//Draw red text for all edit controls .if (nCtlColor= = CTLCOLOR_EDIT )pDC — SetTextColor (RGB (255, 0 , 0 , ) )return hbr}然而,由于每个父窗口必须处理通知消息并指定每个控件的绘画属性,所以,这种方法不是完全的面向对象的方法。控件处理该消息并指定绘画属性更合情合理。消 息反射允许用户这样做。通知消息首先发送给父窗口,如果父窗口没有处理则发送给控件。创建一个定制彩色列表框控件必须遵循下述步骤。首先,使用ClassWizard 创建一个CListBox 的派生类并为该类添加下述数据成员。class CMyListBox publilc CListBox{…privateCOLORREF m_clrFor // foreground colorCOLORREF m_clrBack //background colorCbrush m_brush //background brush…}其次,在类的构造函数中,初始化数据中。CMyListBox : : CMyListBox (){//Initialize data members .m_clrFore =RGB (255 , 255 , 0) //yellow textm_clrBack=RGB (0 , 0 , 255) // blue backgroundm_brush . CreateSolidBrush (m _clrBack )}最后,使用ClassWizard处理反射的WM_CTLCOLOR(=WM_CTLCOLOR)消息并指定新的绘画属性。HBRUSH CMyListBox : : CtlColor (CDC* pDC, UINT nCtlColor ){pDC—SetTextColor (m_clrFore)pDC—SetBkColor (m_clrBack)return (HBRUSH) m_brush.GetSafeHandle ()}现在,控件可以自己决定如何绘画,与父窗口无关。(49) 当向列表框中添加多个项时如何防止闪烁调用CWnd::SetRedraw 清除重画标志可以禁止CListBox(或者窗口)重画。当向列表框添加几个项时,用户可以清除重画标志,然后添加项,最后恢复重画标志。为确保重画列表 框的新项,调用SetRedraw (TRUE) 之后调用CWnd::Invalidate。//Disable redrawi
您可能关注的文档
最近下载
- 迈富时 上市招股说明书.pdf VIP
- 年产3500吨对羟基苯甲酸乙酯(食品添加剂)项目可行性研究报告.docx VIP
- HMMT_-_哈佛-MIT数学竞赛题.pdf
- 资金平衡表.doc VIP
- 小学生四年级上册暑假练字电子字帖生字写字表提前学习练习楷书字帖pdf可打印文件.pdf VIP
- 氢氟酸安全标签.doc VIP
- 2025年全国统一高考生物试卷(江西卷)含答案 .pdf VIP
- 《义务教育数学课程标准(2022年版)》【试题】题库及答案汇总.docx VIP
- 八年级上册历史《中华民族的抗日战争》单元作业设计 (优质案例50页) .pdf VIP
- 商务日语函电第2课 支払い遅延の依頼と回答.ppt VIP
文档评论(0)