• Win32 创建窗口翻车记录


    今天创建窗口的时候,在捕获消息WM_CREATE的时候翻车了,找了好久都没找到,我换另一台电脑上又没出问题,

    现分享下:LRESULT QWnd::WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam{    if (WM_CREATE == uMsg)

        {
            //就是这里,在创建的时候传进来一个this指针,我给写成了
            //QWnd* pWnd = (QWnd*)(LPCREATESTRUCT)lParam;
            //我晕了好久,
            QWnd* pWnd = (QWnd*)((LPCREATESTRUCT)lParam)->lpCreateParams;
            if (pWnd)//所以这样判断是不全的,应该再想个办法
            {
                pWnd->m_hWnd = hWnd;
                SetWindowLongPtr(hWnd, GWL_USERDATA, (LONG)pWnd);
            }
        }
        QWnd* pWnd = (QWnd*)GetWindowLongPtr(hWnd, GWL_USERDATA);
        if (pWnd)
        {
            const MSGSTRUCT* pMs = pWnd->FindMsg(uMsg,wParam);
            if (pMs != NULL)
            {
                return (pWnd->*(pMs->pfn))(wParam, lParam);
            }
            
        }
        return DefWindowProc(hWnd, uMsg, wParam, lParam);
    }   

    老是出现访问冲突,又找不到哪冲突.晕死了半天.

    签名:GreenLeaf1976
  • 相关阅读:
    git
    redis
    Hexo-butterfly-magicv3.0.1(持续更新中....)
    转发好文章1
    0x07 Nagios Notifications
    0x06 nagios监控状态
    0x05 Nagios Host Check
    0x03 Nagios Plugins介绍
    0x02 Nagios CGI的认证和授权
    0x01 Nagios配置文件
  • 原文地址:https://www.cnblogs.com/greenleaf1976/p/14772273.html
Copyright © 2020-2023  润新知