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

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

  (14) 移动窗口
  调用CWnd : : SetWindowPos并指定SWP_NOSIZE标志。目的位置与父窗口有关(顶层窗口与屏幕有关)。调用CWnd : : MoveWindow时必须要指定窗口的大小。


逆风编程精品

  //Move window to positoin 100 , 100 of its parent window .
  SetWindowPos (NULL, 100 , 100 , 0 , 0 , SWP_NOSIZE |SWP_NOAORDER)

  (15) 通用控件的显示窗口
  MFC提供了几个CView派生的视窗类, 封装了通用控件的功能,但仍然使用工作框文档显示窗口体系结构:CEditView封装了编辑控件,CTreeView保持了树列表控件,CListView封装了列表显示窗口控件,CRichEditView可以处理多种编辑控件。

(16) 重置窗口的大小
  调用CWnd: : SetWindowPos并指定SWP_NOMOVE标志, 也可调用CWnd : : MoveWindow 但必须指定窗口的位置。


  // Get the size of the window .
  Crect reWindow
  GetWindowRect (reWindow )

  //Make the window twice as wide and twice as tall .
  SetWindowPos (NULL , 0 , 0 , reWindow . Width ( ) *2,

  reWindow . Height () * 2,
  SWP_NOMOVE |SWP_NOZORDER )

  (17) 如何单击除了窗口标题栏以外的区域使窗口移动
  当窗口需要确定鼠标位置时Windows向窗口发送WM_NCHITTEST信息,可以处理该信息使Windows认为鼠标在窗口标题上。对于对话框和基于对话的应用程序,可以使用ClassWizard处理该信息并调用基类函数, 如果函数返回HTCLIENT 则表明鼠标在客房区域,返回HTCAPTION表明鼠标在Windows的标题栏中。


  UINT CSampleDialog : : OnNcHitTest (Cpoint point )
  {
  UINT nHitTest =Cdialog: : OnNcHitTest (point )
  return (nHitTest = =HTCLIENT)? HTCAPTION : nHitTest
  }

  上述技术有两点不利之处,
  其一是在窗口的客户区域双击时,窗口将极大;
  其二, 它不适合包含几个视窗的主框窗口。
  还有一种方法,当用户按下鼠标左键使主框窗口认为鼠标在其窗口标题上,使用ClassWizard在视窗中处理WM_LBUTTODOWN信息并向主框窗口发送一个WM_NCLBUTTONDOWN信息和一个单击测试HTCAPTION。

  void CSampleView : : OnLButtonDown (UINT nFlags , Cpoint point
  )
  {
  CView : : OnLButtonDow (nFlags , pont )

  //Fool frame window into thinking somene clicked
  on
  its caption bar .
  GetParentFrame ( ) —> PostMessage (
  WM_NCLBUTTONDOWN ,
  HTCAPTION , MAKELPARAM (poitn .x , point .y) )

  }


  该技术也适用于对话框和基于对的应用程序,只是不必调用

  CWnd: :GetParentFrame 。
  void CSampleDialog : : OnLbuttonDown (UINT nFlags, Cpoint point )
  {
  Cdialog : : OnLButtonDow (nFlags, goint )
  //Fool dialog into thinking simeone clicked on its
  caption bar .
  PostMessage (WM_NCLBUTTONDOWN , HTCAPTION , MAKELPARM (point.x
  , point. y
  ) )
  }


 

本文章更多内容<<上一页 - 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++

  热门关键字: