zoukankan      html  css  js  c++  java
  • MFC DAY02

    一 窗口的创建(2)
    1 加载菜单
    2 调用CreateEx成员函数,注册窗口类/创建窗口
    2.1 调用PreCreateWindow成员函数 设计并注册窗口类
    1)调用AfxDeferRegisterClass全局函数设计窗口类
    WNDCLASS wndcls;
    wndcls.lpfnWndProc = DefWindowProc;
    .....
    并调用 AfxRegisterClass全局函数,在这个函数
    中调用WIN32 API 函数::RegisterClass注册一个
    局部窗口类 类名称为"AfxFrameOrView42sd"
    2.2 调用AfxHookWindowCreate函数
    1)利用::SetWindowsHookEx在程序中埋下一个类型
    为WH_CBT的钩子。
    2)将自己new的框架类对象地址(pFrame)保存到
    当前程序线程信息中。
    2.3 调用WIN32 API 函数 ::CreateWindowEx创建窗口
    此函数一旦执行成功,马上执行钩子处理函数。
    3 钩子处理函数
    3.1 将 窗口句柄 和 框架类对象 建立一对一绑定关系
    3.2 将 窗口处理函数 更改为
    AfxWndProc(真正的窗口处理函数)
    二 AfxWndProc(窗口处理函数)处理消息的执行过程
    1 利用消息所属窗口句柄,找到和它绑定在一起框架类
    对象地址(pFrame)。
    2 利用框架类对象地址(pFrame)调用框架类的成员虚函
    数(WindowProc),完成消息的处理。

  • 相关阅读:
    hdu2089 数位dp
    AIM Tech Round 3 (Div. 2)
    Codeforces Round #372 (Div. 2)
    src 小心得
    水平文字垂直居中
    点击验证码刷新(tp3.1)--超简单
    TP3.1 中URL和APP区别
    getField方法
    PHP截取中文无乱码函数——cutstr
    substr — 详解
  • 原文地址:https://www.cnblogs.com/Renekton/p/3864139.html
Copyright © 2011-2022 走看看