【发布时间】:2015-03-04 06:15:31
【问题描述】:
我创建了一个继承自CButton的自定义按钮类CMyButton,然后我使用DrawItem来自定义按钮。
使用自定义按钮,我在对话框中创建了 3button。
问题是按钮的 TAB 键不起作用。如果我删除 drawitem 则没有问题。有人可以帮忙吗?
void CMyButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
{
CDC* pDC = CDC::FromHandle(lpDrawItemStruct->hDC);
CRect rect = lpDrawItemStruct->rcItem;
UINT state = lpDrawItemStruct->itemState;
pDC->DrawFrameControl(rect, DFC_BUTTON , DFCS_BUTTONPUSH | DFCS );
pDC->FillSolidRect(rect, RGB(24, 72, 76));
pDC->SetTextColor(RGB(255, 255, 255));
CString strText;
GetWindowText(strText);
pDC->DrawText(strText,rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER);
}
【问题讨论】:
-
你怎么知道TAB键不起作用?
-
当您删除 DrawItem 时,您是否也删除了 BS_OWNERDRAW 样式?这是更大的变化。
标签: mfc