您的位置:逆风者 VC++ 正文
 添加时间:2007-09-11 原文发表:2007-09-11 人气:140 来源:vckbase.com

本文章共10305字,分6页,当前第4页,快速翻页:
 

  其次, 在类的构造函数中将刷子初始化为所需要的背景颜色。

逆风编程技术
  CMyFormView : : CMyFormView ( )
  {
  // Initialize background brush .
  m_brush .CreateSolidBrush (RGB ( 0, 0, 255) )
  }

  最后,使用ClassWizard处理WM_CTLCOLOR消息并返回一个用来绘画对话背景的刷子句柄。注意:由于当重画对话控件时也要调用该函数,所以要检测nCtlColor参量。

  HBRUSH CMyFormView : : OnCtlColor (CDC* pDC , CWnd*pWnd , UINT nCtlColor
  )

  {
  // Determine if drawing a dialog box . If we are, return +handle to
  //our own background brush . Otherwise let windows handle it .
  if (nCtlColor = = CTLCOLOR _ DLG )
  return (HBRUSH) m_brush.GetSafeHandle ( )
  return CFormView : : OnCtlColor (pDC, pWnd , nCtlColor
  )
  }

  (37) 如何获取一个对话控件的指针
  有两种方法。其一,调用CWnd: : GetDlgItem,获取一个CWnd*指针调用成员函数。下例调用GetDlgItem,将返回值传给一个CSpinButtonCtrl*以便调用CSpinButtonCtrl : : SetPos 函数:

  BOOL CSampleDialog : : OnInitDialog ( )
  {
  CDialog : : OnInitDialog ( )

  //Get pointer to spin button .
  CSpinButtonCtrl * pSpin - ( CSpinButtonCtrl *) GetDlgItem(IDC_SPIN)
  ASSERT _ VALID (pSpin)
  //Set spin button's default position .
  pSpin —> SetPos (10)

  return TRUE
  }

其二, 可以使用ClassWizard将控件和成员变量联系起来。在ClassWizard中简单地选择Member Variables标签,然后选择Add Variable …按钮。如果在对话资源编辑器中,按下Ctrl键并双击控件即可转到Add Member Variable对话。

  (38) 如何禁止和使能控件
  控件也是窗口,所以可以调用CWnd : : EnableWindow使能和禁止控件。

  //Disable button controls .
  m_wndOK.EnableWindow (FALSE )
  m_wndApply.EnableWindow (FALSE )

  (39) 如何改变控件的字体
  由于控件是也是窗口,用户可以调用CWnd: : SetFont指定新字体。该函数用一个Cfont指针,要保证在控件撤消之前不能撤消字体对象。下例将下压按钮的字体改为8点Arial字体:

  //Declare font object in class declaration (.H file ).
  private : Cfont m_font
  // Set font in class implementation (.Cpp file ). Note m_wndButton is a
  //member variable added by ClassWizard.DDX routines hook the member
  //variable to a dialog button contrlo.
  BOOL CSampleDialog : : OnInitDialog ( )
  {
  …
  //Create an 8-point Arial font
  m_font . CreateFont (MulDiv (8 , -pDC
  —> GetDeviceCaps(LOGPIXELSY) ,72). 0 , 0 , 0 , FW_NORMAL , 0 , 0,0, ANSI_CHARSER, OUT_STROKE_PRECIS ,

  CLIP_STROKE _PRECIS , DRAFT _QUALITY
  VARIABLE_PITCH |FF_SWISS, _T("Arial") )

  //Set font for push button .
  m_wndButton . SetFont (&m _font )

  …
  }


 

本文章更多内容<<上一页 - 1 - 2 - 3 - 4 - 5 - 6 - 下一页>>
相关文章

VC实用小知识总结 (一)
超强仿QQ自动伸缩窗口
WIN32程序挂钩SetLastError,输出错误描述到
Spy++原理初探
汉诺塔游戏的设计
关于控件注册和使用许可问题的解决办法
基于MFC对话框的NT服务程序框架
计算MDI子窗口数,仅显示文件夹的打开对话框
PE文件格式详解(下)
GDI和GDI 对象的相互转换
BMP图象解析
让你的软件界面更漂亮(五)
MFC中基于对话框程序快捷键的实现
用递归的方法画分形图
利用IJG JPEG Library压缩图像为jpg格式
软件框架的利器、TangramMini组件应用教程六
让你的软件界面更漂亮(六)-- 仿QQ主界面之L
对OpenCV中的平面划分相关函数使用探索
探讨性能测试中的计时问题
用命令模式实现对象存储——对象与关系数据

相关评论


本文章所属分类:首页 VC++

  热门关键字: