问题详情:我在作电子签章,控件导入word以后,不透明;所以改用windowless,鼠标事件与图片载入都不能使用,好像是找不到句柄,本人是新手,对activex不熟,请各位赐教!

解决方案 »

  1.   

    Let's try to do it step by step1.override PreCreateWindow()CYourCtrl::PreCreateWindow(CREATESTRUCT& cs)
    {
        cs.dwExStyle |= WS_EX_TRANSPARENT;
        
        return COleControl::PreCreateWindow(cs);
    }2. override OnSetClientSite()CYourCtrl::OnSetClientSite()
    {
        m_bAutoClip = TRUE;
        
        COleControl::OnSetClientSite();
    }3. add message mapON_WM_ERASEBKGND()4.override OnEraseBkgnd(CDC* pDC)CYourCtrl::OnEraseBkgnd(CDC* pDC)
    {
        CPoint pt(0,0);
        CWnd* pParent = GetParent();    MapWindowPoints(pParent,&pt,1);    pt = pDC->OffsetWindowOrg(pt.x,pt.y);    pParent->SendMessage(WM_ERASEBKGND, (WPARAM)(pDC->GetSafeHdc()));    pDC->SetWindowOrg(pt);    return 1;
    }5. draw everything you want in OnDraw()hope it is what you want.