修改使用CButton控件透明,我知道通过派生一个CButton类,然后进行重绘可以实现其功能。但这种重绘需要创建一个与派生的新类相关的变量(即使没有用也得创建)。这样很不方便,特别是当界面的Check,button,radio控件很多的时候,难道都要一个个创建关联变量,再一个个子类控件么?有什么办法可以不用创建关联变量的?(子类控件)。

解决方案 »

  1.   

    特别是当界面的Check,button,radio控件很多的时候,难道都要一个个创建关联变量,再一个个子类控件么?有什么办法可以不用创建关联变量的?可以试试http://download.csdn.net/detail/zhoujielunzhimi/4687178
      

  2.   

    //查找当前窗口下类名为Button的子窗口
    HWND hWnd=::FindowWindowEx(m_hWnd,NULL,_T("Button"),NULL);
    while(hWnd)
    {
        //新建一个你自定义的按钮类的指针
        CSkinButton* pButton=new CSkinButton();
        //子类化查找到的窗口句柄
        pButton->SubclassWindow(hWnd);
        //查找下一个类名为Button的子窗口
        hWnd=::FindowWindowEx(m_hWnd,hWnd,_T("Button"),NULL);
    }