这是MFC中创建button的源码
BOOL CButton::Create(LPCTSTR lpszCaption, DWORD dwStyle,
const RECT& rect, CWnd* pParentWnd, UINT nID)
{
CWnd* pWnd = this;
return pWnd->Create(_T("BUTTON"), lpszCaption, dwStyle, rect, pParentWnd, nID);
}现在的问题是,我想看"BUTTON"这个WNDCLASSEX的具体内容是什么,在哪里可以看到?
现在说说问题的来源,是因为我在做skin的时候,对dialog进行mask后贴图,图可以被mask掉,也就是说,被mask掉的地方透明,但对button进行mask的时候,按钮的形状按照mask设定的正常,但贴图的时候却是按照矩形贴图,我怀疑CDialog和CButton的Class Styles部分关于DC的设顶是不同的,所以希望看一看

解决方案 »

  1.   

    你新建一个类,然后subclass一下不就行了。
      

  2.   

    使用VC提供的SPY++,就可以看了。
      

  3.   

    微软提供的SPY工具可以实现这个功能,你可以看看下面:
    http://www.codeproject.com/tools/minispy.asp
      

  4.   

    用VC提供的Spy++就可以看到了。
      

  5.   

    Spy++
    另外,设置一些断点,单步跟下去,看能不能!
      

  6.   

    参考以下函数:BOOL GetClassInfo(
      HINSTANCE hInstance,    // handle to application instance
      LPCTSTR lpClassName,    // class name
      LPWNDCLASS lpWndClass   // class data
    );BOOL GetClassInfoEx(
      HINSTANCE hinst,    // handle to application instance
      LPCTSTR lpszClass,  // class name
      LPWNDCLASSEX lpwcx  // class data
    );DWORD GetClassLong(
      HWND hWnd,  // handle to window
      int nIndex  // offset of value to retrieve
    );