带有位图和文本的MFC按钮
我有一个自定义的CButton,它使用CButton::SetBitmap(位图)加载位图 同时,我想在位图上方的同一个按钮上显示一个文本 我尝试实现OnPaint(),但它不显示文本,只显示位图带有位图和文本的MFC按钮,mfc,cbutton,Mfc,Cbutton,我有一个自定义的CButton,它使用CButton::SetBitmap(位图)加载位图 同时,我想在位图上方的同一个按钮上显示一个文本 我尝试实现OnPaint(),但它不显示文本,只显示位图 void CBitmapToggleButton::OnPaint() { CButton::OnPaint(); CPaintDC dc(this); // device context for painting CString caption(_T("test messa
void CBitmapToggleButton::OnPaint()
{
CButton::OnPaint();
CPaintDC dc(this); // device context for painting
CString caption(_T("test message"));
GetWindowText(caption);
CRect rect;
GetWindowRect(&rect);
dc.DrawText(caption, &rect, DT_CENTER);
}
如何也显示文本?使用GetClientRect()。传递给DrawText()的参数必须在客户端坐标中
也就是说,忘记这一点,使用CMFCButton。这比你能在合理的时间内自己写的任何东西都要好。试试这个
按钮*pBtn=
(CButton*)GetDlgItem(ID_WIZBACK)
pBtn->ModifyStyle(0,BS_图标)
HICON hIcn=(HICON)加载映像(
AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDI_ICON3),
图像_图标,
0,0,//使用实际大小
LR_默认颜色
);
pBtn->SetIcon( hIcn );