zoukankan      html  css  js  c++  java
  • vc++如何创建窗口

    创建一个mfc工程,AppWizard可以用来增加和选择一些特性

    可以发现一共有五个类,每一个类都有一个基类,都是mfc基础类库中的类

    例如将一个类拷贝一下,将CFrameWnd到msdn中查找一下,MSDN(Microsoft Developer Network)是早期微软在推广Win32 程序设计以及开发工具时,专门为开发人员所提供的一个服务,是使用微软技术开发软件或应用程序时必定会参访的地方,同时它也有提供订阅的服务

    例如cwinapp

     

    理解mfc脉络,每一种不同的窗口类

    创建窗口:createwindow类

    理清关系。 例如演示Cwind类如何与窗口联系起来的

    class CWnd
    {
    public:
    bool CreateEx(DWORD dwExStyle)
    LPCTSTR lpClassName,
    LPCTSTR lpWindowName,
    DWORD dwStyle,
    int x,
    int y,
    int nWidth,
    int nHeight,
    HWND hWndParent,
    HWND hMenu,
    HINSTAMCE hInstance,
    LPUOIO IpParan);
    BOOL ShowWindow(int nCndShow);
    BOOL UpdateWindow();
    //定义一个句柄的成员变量
    public:
    HWND n_hWnd;

    };
    //完成三个函数,返回值 类名::作用于标识符 ,
    BOOL CWnd::CreateEx(DWORD dwExStyle)
    LPCTSTR lpClassName,
    LPCTSTR lpWindowName,
    DWORD dwStyle,
    int x,
    int y,
    int nWidth,
    int nHeight,
    HWND hWndParent,
    HWND hMenu,
    HINSTAMCE hInstance,
    LPUOIO IpParan);
    //完成一个创建窗口的过程,利用win32提供的api函数成员变量保护
    {
    m_hWnd=::CreateWindowEx(dwExst,lpClassName,dwStyle,dwStyly,x,y,
    nWidth,nHeight,hWndParent,HWenu,hInstance,Iparam);
    //表示全局函数可以加一个::
    BOOL ShowWindow(int nCndShow);
    BOOL UpdateWindow();
    if(n_hWnd!=NULL)
    return TRUE;
    else
    return FALSE;
    }
    bool CWnd::ShowWindow(int nCmdShow)
    {
    return ::ShowWindow(m_hWnd,nCndShow);// ::ShowWindow(m_hWnd,nCndShow);表示是一个全局函数,是一个平台sdk的函数,
    //只要想表示sdk的,全局的,都可以用::来表示,返回值也是bool类型
    //当调用createEx函数时,表示函数已经传过来了,可以直接返回
    }

    bool CWnd::UpdateWindow(int nCmdShow)
    {
    return ::UpdateWindow(m_hWnd);// ::ShowWindow(m_hWnd,nCndShow);表示是一个全局函数,是一个平台sdk的函数,
    //只要想表示sdk的,全局的,都可以用::来表示,返回值也是bool类型
    //当调用createEx函数时,表示函数已经传过来了,可以直接返回
    }

    bool CWnd::UpdateWindow(int nCmdShow)
    {
    return ::UpdateWindow(m_hWnd);// ::ShowWindow(m_hWnd,nCndShow);表示是一个全局函数,是一个平台sdk的函数,
    //只要想表示sdk的,全局的,都可以用::来表示,返回值也是bool类型
    //当调用createEx函数时,表示函数已经传过来了,可以直接返回
    }
    //可以粘贴代码过来
    int WINPI WinHain(
    HINSTAMCE hInstance,
    HINSTAMCE hPreVInstance,
    LPSTR IpCmdLine,
    int nCmdShow
    )

    {
    WNDCLASS undels;
    undels.cbWndExtra=0;
    undels.cbClsExtra=0;
    ....
    //注册
    RegisterClass(&wndcls);
    //产生窗口,宽度,高度
    CWnd wnd;
    wnd.CreateEx(...);
    //显示窗口
    wnd.ShowWindow(SW_SHOWHORHAL);
    //更新窗口
    wnd.UpdateWindow();
    //循环。。。。
    //保存句柄
    HWND hwnd;
    hwnd=CreateWindowEx();
    .....

    }

  • 相关阅读:
    实现Android-JNI本地C++调试
    OpenCV中IplImage/CvMat/Mat转化关系
    安卓项目中文件夹的作用
    SLAM: 图像角点检测的Fast算法(OpenCV文档)
    CVPR2015深度学习回顾
    ANN:DNN结构演进History—LSTM网络
    ANN:DNN结构演进History—RNN
    最优化:**回归/拟合方法总结
    Matlab中数组元素引用——三种方法
    C++ Rand()各种实现
  • 原文地址:https://www.cnblogs.com/fanglijiao/p/9813649.html
Copyright © 2011-2022 走看看