zoukankan      html  css  js  c++  java
  • 【VC++学习笔记三】控件自绘

          MFC应用程序中,大部分的控件类型都已经被定制好了,即便是修改,也只是小范围内的修改,而很多情况下,我们又需要对界面进行特殊定制,这时,最好的办法就是用CWnd类进行派生,自己生成新的窗体,在WM_PAINT消息中,进行控件的自绘,创建时,也只需要在主窗体的创建语句中加上就能显示了,下面是一个简单的控件创建过程:

    如果什么都不处理的话,需要重载注册窗口类,才能显示,父窗口的WM_SIZE函数需要重载以相应对窗口变化的处理。

     

    BOOL CCustomerWnd::PreCreateWindow(CREATESTRUCT& cs)

    {

    HINSTANCE hInstance = (HINSTANCE)AfxGetInstanceHandle();

    ASSERT(hInstance);

     

    WNDCLASSEX wcex;

    wcex.cbSize = sizeof(WNDCLASSEX);

     

    BOOL bRet = GetClassInfoEx(hInstance,cs.lpszClass,&wcex);

    if (bRet)

    {

    return TRUE;

    }

     

    wcex.style = CS_VREDRAW | CS_HREDRAW | CS_DBLCLKS;

    wcex.lpfnWndProc = AfxWndProc;

    wcex.cbClsExtra = 0;

    wcex.cbWndExtra = 0;

    wcex.hInstance = hInstance;

    wcex.hIcon = wcex.hIconSm = (HICON)::LoadIcon(hInstance,MAKEINTRESOURCE(IDR_MAINFRAME));

    wcex.hCursor = (HCURSOR)::LoadCursor(NULL,IDC_ARROW);

    wcex.hbrBackground = (HBRUSH)::GetStockObject(WHITE_BRUSH);

    wcex.lpszMenuName = NULL;

    wcex.lpszClassName = cs.lpszClass;

     

    bRet = RegisterClassEx(&wcex);

     

    return bRet;

    }

  • 相关阅读:
    员工思维 主管思维
    屏幕截图检测视频有效性
    ffmpeg resize and scale
    tmp
    Generative Adversarial Networks
    oss
    代码与性格
    Message: unknown error: Element is not clickable at point
    解决ES集群状态异常教程(存在UNASSIGNED)
    whl 安装
  • 原文地址:https://www.cnblogs.com/OldGlory/p/3588643.html
Copyright © 2011-2022 走看看