描述:
问题详情:我在作电子签章,控件导入word以后,不透明;所以改用windowless,鼠标事件与图片载入都不能使用,好像是找不到句柄,本人是新手,对activex不熟,请各位赐教!
解决方案1:
Let's try to do it step by step
1.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 map
ON_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.