MFC

1:atof 将字符串转化为 float,atoi 将字符串转化为 int 型。

2: 所有从 CWnd类派生的类都有 m_hWnd 句柄。

3:GetDC()ReleaseDC()要成对使用,否则会内存泄漏。    

HDC hDC = ::GetDC(m_hWnd);
	
::ReleaseDC(m_hWnd,hDC);

4: sprintf 格式化字符,其头文件为 stdio.h, MFC 中格式化字符用 CString.Format

	CHAR m_cg[1024];
        sprintf( m_ cg, _T("Read : %s"), strCg );
        CString msg;
	msg.Format(_T("数目不能超过%d个!"), MAX_NUMBER);
5: GetStockObject() 得到画笔、画刷、字体、调色板的句柄,使用时必须用类型转换。

(HBRUSH)GetStockObject( HOLLOW_BRUSH );
HFONT hFont = (HFONT)GetStockObject(DEFAULT_GUI_FONT);

6:什么是野指针?答:将指针指向的变量的内存释放后,此指针即变成野指针!如何避免
野指针?答:将此指针指向
NULL 即可。p=NULL;

7:#include <xxx.h>#include "xxx.h"的区别:<>不查找运行时目录, ""查找运行时目录! 

8:如何防止类的重复定义?

#ifndef __Simple_Button_H__
#define __Simple_Button_H__

class   CButton : public CLabel
{
public:
CButton(void);
virtual ~CButton(void);

};

#endif 

9:消息响应

(1)头文件中
    afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
(2)cpp中
BEGIN_MESSAGE_MAP(CCusButton, CButton)
ON_WM_LBUTTONDOWN()
ON_WM_KEYDOWN()
END_MESSAGE_MAP()
void CCusButton::OnLButtonUp(UINT nFlags, CPoint point)
{

}


10:画线

void CReport::OnPaint()
{
CPaintDC dc( this );
CMemDC MemDC( &dc );

CPen penGrey( PS_SOLID, 2, RGB(201,201,201) );
CPen *pPenBak = MemDC.SelectObject( &penGrey );
MemDC.MoveTo( 1, 100); \\(x,y)
MemDC.LineTo( 1,200 );
MemDC.SelectObject( pPenBak );
}


11:动态创建菜单

 

       (1)头文件
         #define UI_IDM_UNKNOWN 0
         #define UI_IDM_UNDO 1
         #define UI_IDM_CUT 2
         #define UI_IDM_COPY 3
  
      (2)cpp
        CMenu menu;
        menu.CreatePopupMenu(); 
        UINT nFalg = MF_STRING;
        menu.AppendMenu( nFalg, UI_IDM_UNDO, L"撤销" );
        menu.AppendMenu( nFalg, UI_IDM_CUT, L"剪切" );
        menu.AppendMenu( nFalg, UI_IDM_COPY, L"拷贝" );

12:在窗口中贴图,4个步骤

  1、创建位图
 CBitmap bitmap;
 bitmap.LoadBitmap(IDB_BITMAP1);
2、创建兼容 DC
CDC dcCompatible;
dcCompatible.CreateCompatibleDC(pDC);
3、将位图选到兼容 DC 中
dcCompatible.SelectObject(&bitmap);
4、将兼容 DC 中的位图贴到当前 DC 中。在 WM_EraseBkgnd()中调用,但不能再调用基类
的擦除背景函数。也可以在 OnDraw 函数中完成,但效率低,图像会闪烁,因为它先擦除背
景,慢。
pDC->BitBlt(rect.left,rect.top,rect.Width(),
rect.Height(),&dcCompatible,0,0,SRCCOPY); 

13:

14:

15:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员的资料库

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值