问题1 :如何把vc的例子从unicode转为我能用的,就是不让它提示少mfc42U.dll
问题2 :我写了一个activex,想学习一下,就是想实现自已绘制按钮的功能,代码如下,问题是,没有效果,我也不知道为什么,请高手帮忙。
void CExamCtrl::PreSubclassWindow() 
{
// TODO: Add your specialized code here and/or call the base class
COleControl::PreSubclassWindow();
ModifyStyle(0, BS_OWNERDRAW);
}void CExamCtrl::OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct) 
{
// TODO: Add your message handler code here and/or call default
CRect rect;
GetClientRect(rect);
CDC *dc = CDC::FromHandle(lpDrawItemStruct->hDC);
int nSavedDC = dc->SaveDC();
UINT state = lpDrawItemStruct->itemState;
LOGBRUSH logBrush;
logBrush.lbStyle = BS_SOLID; CPen HighlightPen(PS_SOLID, 1, ::GetSysColor(COLOR_3DHIGHLIGHT));
CPen DarkShadowPen(PS_SOLID, 1, ::GetSysColor(COLOR_3DDKSHADOW));
CPen ShadowPen(PS_SOLID, 1, ::GetSysColor(COLOR_3DSHADOW));
CPen BlackPen(PS_SOLID, 1, RGB(0,0,0)); if(state & ODS_SELECTED )
{
dc->SelectObject(HighlightPen);
dc->MoveTo(0, rect.bottom);
dc->LineTo(rect.right - 1, rect.bottom);
dc->LineTo(rect.right / 2, 0); dc->SelectObject(ShadowPen);
dc->LineTo(0, rect.bottom);

dc->SelectObject(DarkShadowPen);
dc->MoveTo(rect.right / 2 - 1, 4);
dc->LineTo(1, rect.bottom);
}
else
{
dc->SelectObject(HighlightPen);
dc->MoveTo(rect.right /2, 0);
dc->LineTo(0, rect.bottom - 1);

dc->SelectObject(ShadowPen);
dc->LineTo(rect.right - 1, rect.bottom - 1);
dc->LineTo(rect.right / 2, 0); dc->SelectObject(DarkShadowPen);
dc->MoveTo(rect.right / 2 + 2, 3);
dc->LineTo(rect.right + 1, rect.bottom + 1);

dc->MoveTo(rect.right - 1, rect.bottom);
dc->LineTo(1, rect.bottom);
logBrush.lbColor = RGB(255,0,0);
}