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

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

  CWnd: : PreCreateWindow并关闭FWS_ADDTOTITLE风格。

逆风编程精品

  BOOL CMainFrame : : PreCreateWindow (CREATESTRUCT&cs)
  {
  //Turn off FWS_ADDTOTITLE in main frame .
  cs.styel & = ~FWS_ADDTOTITLE  
  return CMDIFrameWnd : : PreCreateWindow (cs )
  }


  关闭MDI子窗口的FWS _ADDTOTITLE风格将创建一个具有空标题的窗口,可以调用CWnd: : SetWindowText来设置标题。记住自己设置标题时要遵循接口风格指南。

  (21) 如何获取有关窗口正在处理的当前消息的信息
  调用CWnd: : GetCurrentMessage可以获取一个MSG指针。例如,可以使用ClassWizard将几个菜单项处理程序映射到一个函数中,然后调用GetCurrentMessage来确定所选中的菜单项。


  viod CMainFrame : : OnCommmonMenuHandler ( )
  {
  //Display selected menu item in debug window .
  TRACE ("Menu item %u was selected . \n" ,

  (22) 如何在代码中获取工具条和状态条的指针
  缺省时, 工作框创建状态条和工具条时将它们作为主框窗口的子窗口,状态条有一个AFX_IDW_STATUS_BAR标识符,工具条有一个AFX_IDW_TOOLBAR标识符,下例说明了如何通过一起调用CWnd: : GetDescendantWindow和AfxGetMainWnd来获取这些子窗口的指针:


  //Get pointer to status bar .
  CStatusBar * pStatusBar = (CStatusBar *) AfxGetMainWnd ( )
  —> GetDescendantWindow(AFX_IDW_STUTUS_BAR)

  //Get pointer to toolbar .
  CToolBar * pToolBar = (CToolBar * ) AfxGetMainWnd ( )
  —> GetDescendantWindow(AFX_IDW_TOOLBAR)

  (23) 如何使能和禁止工具条的工具提示
  如果设置了CBRS_TOOLTIPS风格位,工具条将显示工具提示,要使能或者禁止工具提示,需要设置或者清除该风格位。下例通过调用CControlBar : : GetBarStyle和CControlBar : : SetBarStyle建立一个完成此功能的成员函数:


  void CMainFrame : : EnableToolTips ( BOOL bDisplayTips )
  {
  ASSERT_VALID (m_wndToolBar)

  DWORD dwStyle = m _wndToolBar.GetBarStyle ( )

  if (bDisplayTips) dwStyle |=CBRS_TOOLTIPS

  else
  dwStyle & = ~CBRS_TOOLTIPS

  m_wndToolBar.SetBarStyle (dwStyle )
  }

(24) 如何创建一个不规则形状的窗口
  可以使用新的SDK函数SetWindowRgn。该函数将绘画和鼠标消息限定在窗口的一个指定的区域,实际上使窗口成为指定的不规则形状。 使用AppWizard创建一个基于对的应用程序并使用资源编辑器从主对话资源中删除所在的缺省控件、标题以及边界。
  给对话类增加一个CRgn数据成员,以后要使用该数据成员建立窗口区域。

  Class CRoundDlg : public CDialog
  {
  …
  private :
  Crgn m_rgn : // window region
  …
  }
  修改OnInitDialog函数建立一个椭圆区域并调用SetWindowRgn将该区域分配给窗口:
  BOOL CRoundDlg : : OnInitDialog ( )
  {
  CDialog : : OnInitDialog ( )

  //Get size of dialog .
  CRect rcDialog
  GetClientRect (rcDialog )

  // Create region and assign to window .
  m_rgn . CreateEllipticRgn (0 , 0 , rcDialog.Width( ) , rcDialog.Height ( ) )
  SetWindowRgn (GetSafeHwnd ( ) , (HRGN) m_ rgn ,TRUE )

  return TRUE
  }


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

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

相关评论


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

  热门关键字: