我从CButton派生了一个CButtonX类,在DrawItem中写字。而主窗口的背景是贴上去的Bitmap,按钮是动态Create的。可是按钮不透明(一个灰色的方框,难看)。哪位大哥指点一下,感激不尽!!!
解决方案 »
- 弹出的模态对话框锁住了其他应用程序
- 无法解析的外部符号
- 如果设置MFC子对话框的水平滚动条的范围
- 通accept连续接收创建了100个socket,并且在每个socket创建后成功通了一次信,并不关闭,那么多长时间内这此socket还是可用的
- 怎么样判断一个字符串里面是否有汉字
- VC招聘帖集中营
- opencv视频控制的滚动条
- 怎么实现在网页中调用CGI程序直接传递给CGI参数,就象DOS底下运行一样?急,在线等待!!!
- vc 6.0 调试窗口关不掉
- 菜鸟求助,对话框文件中,读取txt文件,逐行读取然后将内容显示在相应文本框中,程序总显示文件最后一行
- 高手近来看看这个函数的逻辑是什么???
- VC6.0中不明白的编译警告
网上有很多这样的现成的类(CXxxButton)
建议你到codeguru去下载一个
帮帮忙饿!
BOOL C_your_Dlg::OnEraseBkgnd(CDC* pDC)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值 return CDialog::OnEraseBkgnd(pDC); //将这句改为返回1(或0),然后试试
}
void CXxxButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
{
// TODO: Add your code to draw the specified item
CDC* pDC = CDC::FromHandle(lpDrawItemStruct->hDC);
CRect btnRect;
btnRect.CopyRect(&lpDrawItemStruct->rcItem);
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(0,0,80));
pDC->DrawText( "XButton",btnRect,DT_CENTER);
}
BOOL CXxxButton::OnEraseBkgnd(CDC* pDC)
{
return FALSE;
}
{
// TODO: Add your code to draw the specified item
CDC* pDC = CDC::FromHandle(lpDrawItemStruct->hDC);
CRect btnRect;
btnRect.CopyRect(&lpDrawItemStruct->rcItem);
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(0,0,80));
pDC->DrawText( "XButton",btnRect,DT_CENTER);
}
BOOL CXxxButton::OnEraseBkgnd(CDC* pDC)
{
return 0; ////不行的话就改成1
}
{
// HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
switch (nCtlColor)
{
case CTLCOLOR_STATIC:
pDC->SetTextColor(RGB(0, 0, 0));
pDC->SetBkColor(RGB(255,255,255));
case CTLCOLOR_EDIT:
pDC->SetTextColor(RGB(0, 0, 0));
pDC->SetBkColor(RGB(255,255,255));
case CTLCOLOR_LISTBOX:
pDC->SetTextColor(RGB(0, 0, 0));
pDC->SetBkColor(RGB(255,255,255));
case CTLCOLOR_SCROLLBAR:
pDC->SetTextColor(RGB(0, 0, 0));
pDC->SetBkColor(RGB(255,255,255));
case CTLCOLOR_BTN:
pDC->SetTextColor(RGB(0, 0, 0));
pDC->SetBkColor(RGB(255,255,255));
case CTLCOLOR_DLG:
return m_Brush;
}
// TODO: Return a different brush if the default is not desired
return m_Brush;
}//现在懂了么??
{
// TODO: Add your code to draw the specified item
CDC* pDC = CDC::FromHandle(lpDrawItemStruct->hDC);
CRect btnRect;
btnRect.CopyRect(&lpDrawItemStruct->rcItem);
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(0,0,80));
pDC->DrawText( "XButton",btnRect,DT_CENTER);
}
BOOL CXxxButton::OnEraseBkgnd(CDC* pDC)
{
return 0; ////不行的话就改成1
}
去http://www.vckbase.com/ 看看
http://www.vckbase.com/document/viewdoc.asp?id=518http://www.vckbase.com/document/viewdoc.asp?id=519http://www.vckbase.com/document/viewdoc.asp?id=647http://www.vckbase.com/document/viewdoc.asp?id=521http://www.vckbase.com/document/viewdoc.asp?id=520http://www.vckbase.com/document/viewdoc.asp?id=517