首页 > 其他分享 >MFC运行机制

MFC运行机制

时间:2023-04-17 15:38:34浏览次数:40  
标签:MFC 函数 调用 运行机制 F10 F11 断点

MFC运行机制_初始化

1.创建一个窗口代码

2.设断点

MFC运行机制_消息循环_02

 

 3.启动调试

MFC运行机制_初始化_03

 

调用堆栈窗口:上面的函数被下面的函数所调用

 

4.

双击

MFC运行机制_初始化_04

函数

 

MFC运行机制_消息循环_05

 

 

设断点

MFC运行机制_初始化_06

 

 

F5让程序执行到断点处

MFC运行机制_消息循环_07

 

 F11进入AfxWinMain函数

MFC运行机制_父类_08

 

CWinThread* pThread = AfxGetThread() 以Afx打头的是全局函数

 

F10让程序运行几行

把鼠标放在pThread和pApp上面,可以看到他们都是指向theAPP

MFC运行机制_父类_09

 

 

5.

MFC运行机制_父类_10

 

 这个初始化函数非常重要,每个MFC都要重写它

F11进入这个函数,就是进入我们自己写的初始化函数了

按几次F10

MFC运行机制_消息循环_11

 

 这是消息循环函数

F11进入

MFC运行机制_初始化_12

 

调用父类的消息循环了,F11进入

MFC运行机制_父类_13

 

 

 这是退出函数

 

 

 

 

 

 

 

 

 

 

 

 

 

 

标签:MFC,函数,调用,运行机制,F10,F11,断点
From: https://blog.51cto.com/u_11531789/6195268

相关文章

  • Cypress运行机制
    Cypress运行机制运行机制运行测试时Cypress会使用网络包把所有的测试代码放到一个.js文件当中运行浏览器,将测试代码注入一个空白页,通过空白页在浏览器中运行测试代码运行过程实际加载Cypress时,Cypressweb应用程序先把自己托管到本地一个随机端口(如:`http://localhost:65......
  • MFC-GetObject获取对象信息
    获取位图信息BITMAPbm;HBITMAPhBmp=NULL;CStringstr=_T("D:\\1.bmp");hBmp=(HBITMAP)::LoadImage(NULL,str,IMAGE_BITMAP,0,0,LR_LOADFROMFILE);intn=::GetObject(hBmp,sizeof(BITMAP),(PSTR)&bm);//获取对象信息/*......
  • MFC-库存GDI对象
     画刷#defineWHITE_BRUSH  0        //白色画刷#defineLTGRAY_BRUSH  1       //亮灰色画刷#defineGRAY_BRUSH  2        //灰色画刷#defineDKGRAY_BRUSH  3      //暗灰色画刷#defineBLACK_BRUS......
  • MFC-SelectObject新对象替换相同类型的对象
     HDChdc=::GetDC(m_hWnd);LOGFONTlf={0};lf.lfWeight=16;//平均宽度lf.lfHeight=40;//字体高度lf.lfCharSet=GB2312_CHARSET;HFONThfont=::CreateFontIndirect(&lf);HFONTholdfont=(HFONT)SelectObject(hdc,hfon......
  • MFC-DrawText在指定的矩形里写入格式化的文本
     HDChdc=::GetDC(m_hWnd);LOGFONTlf={0};lf.lfWeight=16;//平均宽度lf.lfHeight=40;//字体高度lf.lfCharSet=GB2312_CHARSET;HFONThfont=::CreateFontIndirect(&lf);HFONTholdfont=(HFONT)SelectObject(hdc,hfon......
  • MFC-HFONT字体
    GDI中默认的字体,是系统等宽字体,比如对话框标题一般就采用这个字体。        ......
  • MFC-PtInRect判断一个点是否在矩形中
     HDChdc=::GetDC(m_hWnd);RECTrect={10,10,100,100};POINTpoint={50,50};BOOLb=PtInRect(&rect,point);//判断一个点是否在矩形中/*参数1:RECT*lprc参数2:POINT返回值:如果点在rect对象中,那么返回值为非零,......
  • MFC-IntersectRect获得两个矩形的交集部分
     HDChdc=::GetDC(m_hWnd);RECTrect={10,10,100,100};RECTrect1={50,50,150,150};RECTrect2;HBRUSHhbr;hbr=CreateSolidBrush(RGB(0,0,255));SelectObject(hdc,hbr);intf=FrameRect(hdc,&rect,hbr);......
  • MFC-UnionRect获得两个矩形的并集部分
     HDChdc=::GetDC(m_hWnd);RECTrect={10,10,100,100};RECTrect1={50,50,150,150};RECTrect2;HBRUSHhbr;hbr=CreateSolidBrush(RGB(0,0,255));SelectObject(hdc,hbr);intf=FrameRect(hdc,&rect,hbr)......
  • MFC-IsRectEmpty判断一个矩形是否为空矩形
     HDChdc=::GetDC(m_hWnd);RECTrect={10,10,100,100};BOOLb=IsRectEmpty(&rect);//返回值:如果矩形为空,则返回值为非零。如果矩形不为空,则返回值为零CStringstr;str.Format(_T("b=%d"),b);::OutputDebugString(str);  ......