DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

2012年7月4日

摘要: 先来看CreateEx函数:BOOL CWnd::CreateEx(DWORD dwExStyle, LPCTSTR lpszClassName,LPCTSTR lpszWindowName, DWORD dwStyle,const RECT& rect, CWnd* pParentWnd, UINT nID,LPVOID lpParam /* = NULL */){return CreateEx(dwExStyle, lpszClassName, lpszWindowName, dwStyle,rect.left, rect.top, rect.right - rect.left, 阅读全文
posted @ 2012-07-04 21:02 DoubleLi 阅读(4454) 评论(1) 推荐(1)

摘要: 总结OnOK()、OnCancel()、OnClose()、OnDestroy()之间的区别(转) 2009年09月22日 下午 08:33 第一,OnOK()和OnCancel()是CDialog基类的成员函数,而OnClose()和OnDestroy()是CWnd基类的成员函数,即WM消息响应函数。从应用程序结构的角度,拿对话框来说,红色的X对应的是CWnd,而处于对话框中的“确定”、“取消”按钮则对应了CDialog。 第二,OnClose()和OnDestroy() 在单视图程序中,根据<<深入浅出MFC>>所讲,程序退出时执行的操作顺序为(从点X按钮开始)(1 阅读全文
posted @ 2012-07-04 17:51 DoubleLi 阅读(2832) 评论(0) 推荐(1)

摘要: win32直接操作的是句柄HANDLE,每个句柄就对应windows窗口,而vc对HANDLE进行类封装,间接操作的都是HANDLE,现在句柄只是类的一个成员变量。从句柄到指针 CWnd* pWnd=CWnd::FromHandle(hWnd); //a temporary CWnd object is created //and attached. pWnd->Attach(hWnd); //Attaches a Windows window to a CWnd object从指针到句柄 HWND hWnd=pWnd->GetSafeHandle(); hWnd=pWnd-> 阅读全文
posted @ 2012-07-04 16:12 DoubleLi 阅读(9592) 评论(0) 推荐(0)

摘要: 基于对话框的程序(mfc默认生成),重载OnEraseBkgnd函数,其它不动,若在OnPaint函数中不调用其基类的OnPaint函数,即注释掉CDialog::OnPaint();,代码如下: [cpp] view plaincopyprint?voidCDDDDlg::OnPaint(){if(IsIconic()){CPaintDCdc(this);//devicecontextforpainting SendMessage(WM_ICONERASEBKGND,reinterpret_cast<WPARAM>(dc.GetSafeHdc()),0);//Centericon 阅读全文
posted @ 2012-07-04 14:31 DoubleLi 阅读(3777) 评论(0) 推荐(0)

摘要: 方法一:在OnPaint中StretchBlt具体是:注释掉CDialog::OnPaint()或放到结尾(原因何在呢?),并加入贴图代码[cpp] view plaincopyprint?voidCqqqqqDlg::OnPaint(){if(IsIconic()){CPaintDCdc(this);//devicecontextforpainting SendMessage(WM_ICONERASEBKGND,reinterpret_cast<WPARAM>(dc.GetSafeHdc()),0);//Centericoninclientrectangle intcxIcon= 阅读全文
posted @ 2012-07-04 14:30 DoubleLi 阅读(6320) 评论(0) 推荐(0)