首 页 - ┆ 小小说社会科学搜榜改进建议哲学宗教政治法律文化科教语言文字医学管理资源艺术资料数理化天文地球专业技术教育资源建筑房地产
当前位置:e书联盟 > 专业技术 > 机械化工 > 机械化工ppt
VC MFC入门精讲.PPT
运行环境:Win9X/Win2000/WinXP/Win2003/
技术语言:简体中文
技术类型:国产软件 - 机械化工 - 机械化工ppt
授权方式:共享版
技术大小:989 KB
推荐星级:
更新时间:2019-12-30 16:30:20
联系方式:暂无联系方式
官方主页:Home Page
解压密码:点击这里
  • 好的评价 此技术真真棒!就请您
      0%(0)
  • 差的评价 此技术真差劲!就请您
      0%(0)

VC MFC入门精讲.PPT介绍

* * // button3.cpp  #include    #define IDB_BUTTON 100  // Declare the application class  class CButtonApp : public CWinApp  {  public:  	virtual BOOL InitInstance(); };  // Create an instance of the application  class CButtonApp ButtonApp;  // Declare the main window class  class CButtonWindow : public CFrameWnd  {  CButton *button;  public:  	CButtonWindow();  afx_msg void HandleButton();  afx_msg void OnSize(UINT, int, int); DECLARE_MESSAGE_MAP()        };  * * // A message handler function  void CButtonWindow::HandleButton()  { MessageBeep(-1); }  // A message handler function  void CButtonWindow::OnSize(UINT nType, int cx, int cy)  { 	CRect r;  	GetClientRect(&r);  	r.InflateRect(-20,-20);  	button- MoveWindow(r); }  // The message map  BEGIN_MESSAGE_MAP(CButtonWindow, CFrameWnd) ON_BN_CLICKED(IDB_BUTTON, HandleButton)  ON_WM_SIZE()  END_MESSAGE_MAP()  // The InitInstance function is called once  // when the application first executes  BOOL CButtonApp::InitInstance()  { 	m_pMainWnd = new CButtonWindow();  	m_pMainWnd- ShowWindow(m_nCmdShow);  	m_pMainWnd- UpdateWindow();  	return TRUE;  }  * * // The constructor for the window  class CButtonWindow::CButtonWindow()  {  CRect r;  // Create the window itself  Create(NULL, "CButton Tests", 	WS_OVERLAPPEDWINDOW,  	CRect(0,0,200,200));  // Get the size of the client rectangle  GetClientRect(&r);  r.InflateRect(-20,-20);  // Create a button  button = new CButton();  button- Create("Push me", 	WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, r, this, 	IDB_BUTTON);  }  * * 	为了理解上面的代码,从窗口的消息映射开始。你会发现入口ON_WM_SIZE。该入口表示消息映射是对来自CButtonWindow对象的变尺寸消息发生响应。变尺寸消息是当用户改变窗口的大小时产生的。该消息来自窗口本身,而不是作为ON_COMMAND消息由按钮向其父窗口发送的。这是因为窗口框架不是子窗口。 ??? 要注意的是消息映射中的ON_WM_SIZE入口没有参数。你在MFC文档中CWnd类,消息映射中的ON_WM_SIZE入口总是调用OnSize函数,并且该函数必须接收三个参数。OnSize函数必须是消息映射所属类的成员函数,并且该函数必须用afx_msg来说明(正如上面在CButtonWindow的定义中所见到的一样)。 * * 	如果你查看MFC文档,就会发现CWnd中有近100名为“On...”的函数。CWnd::OnSize是其中之一。所有这些函数都在消息映射中有形如ON_WM_对应的标签。例如,ON_WM_SIZE对应OnSize。ON_WM_入口不接收任何参数,如ON_BN_CLICKED一样。参数是假设的并自动传递给相应的如OnSize的“On...”函数。 ??? 重复一遍,因为它很重要: OnSize函数总是与消息映射中的ON_WM_SIZE入口想对应。你必须命名处理函数OnSize, 并且它必须接收三个参数。不同的函数的参数会有所不同。 ??? 上面的代码中在OnSize函数自身的内部,有三行代码修改了按钮在窗口中的尺寸。你可以在该函数中输入任何你想要的代码。 * * 	调用GetClientRect是为了恢复窗口用户区域的新尺寸。该矩形会被缩小,并调用按钮的MoveWindow函数。MoveWindow是从CWnd继承来的,改变尺寸和移动子窗口是在一步完成的。 ??? 当你执行上面改变窗口大小的程序时,你就会发现按钮自己能正确地改变大小。在代码中,变尺寸事件他国消息映射中的OnSize函数而产生一调用,它调用MoveWindow函数来改变按钮的大小。 * * 窗口消息 ??? 查看MFC文档,你可以看到主窗口处理的各种各样的CWnd消息。有些与我们上面介绍的类似。例如,ON_WM_MOVE消息是当用户移动窗口时发送的消息,ON_WM_PAINT消息是当窗口的任何部分需要重画时发出的。至今为止,我们的所有程序,重画工作都是自动完成的,因为是控制自己来负责其外观。如果你自己使用GDI命令来在用户区域中绘制,应用程序就应负责重画工作。因此ON_WM_PAINT就变得重要了。 ??? 还有一些发送给窗口的事件消息更深奥。例如,你可以使用ON_WM_TIMER消息与SetTimer函数来使接收预先设置的时间间隔。下面的代码给出了该过程。当你运行该代码时,程序会每隔1秒钟鸣笛一声。你可以用其它更有用的功能来代替鸣笛。 * * // button4.cpp  #include    #define IDB_BUTTON 100  #define IDT_TIMER1 200  // Declare the application class  class CButtonApp : public CWinApp  {  public:  	virtual BOOL InitInstance();  };  // Create an instance of the application class  CButtonApp ButtonApp;  // Declare the main window class  class CButtonWindow : public CFrame
VC MFC入门精讲.PPT

下载此电子书资料需要扣除0点,

电子书评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
·上一技术:UV油墨讲仪.ppt
·下一技术:Venture Capital与企业融资.ppt

下载说明

* 即日起,本站所有电子书免费、无限量下载下载,去掉了每日50个下载的限制
* 本站尽量竭尽努力将电子书《VC MFC入门精讲.PPT》提供的版本是完整的,全集下载
* 本站站内提供的所有电子书、E书均是由网上搜集,若侵犯了你的版权利益,敬请来信通知我们!

相关下载

Copyright © 2005-2020 www.book118.com. All Rights Reserved