if (nState & ODS_FOCUS)
{
//pen.CreatePen (PS_SOLID, 10, RGB(255,0,0));
pen.CreatePen (PS_SOLID, 1, RGB(209,236,243));
m_hBmp = SHLoadDIBitmap(m_strImagePath);
if (m_hBmp)
{
brush.CreatePatternBrush(CBitmap::FromHandle(m_hBmp));
}
else
{
brush.CreateSolidBrush(RGB(255,0,0));
}
// CRect rectEx = m_btRect;
//
// rectEx.top -= 10;
// rectEx.bottom += 10;
// rectEx.left -= 10;
// rectEx.right += 10;
old_pen = pDC->SelectObject(&pen);
old_brush = pDC->SelectObject(&brush);
pDC->Rectangle(&rtControl); this->MoveWindow(&rtControl);
//this->Invalidate();
}
else
{
pen.CreatePen (PS_SOLID, 1, RGB(209,236,243));
m_hBmp = SHLoadDIBitmap(m_strImagePathNormal);
if (m_hBmp)
{
brush.CreatePatternBrush(CBitmap::FromHandle(m_hBmp));
}
else
{
brush.CreateSolidBrush(RGB(0,0,255));
}
old_pen = pDC->SelectObject(&pen);
old_brush = pDC->SelectObject(&brush);
pDC->Rectangle(&rtControl);
this->MoveWindow(&rtControl);
//this->Invalidate();
}我重写DrawItem这个函数以后,在这个函数里想在BUTTON获取焦点时把按钮变大。
然后在失去焦点的时候,把按钮变小。
我已经改变了矩形的大小了,但是还是不行。
{
//pen.CreatePen (PS_SOLID, 10, RGB(255,0,0));
pen.CreatePen (PS_SOLID, 1, RGB(209,236,243));
m_hBmp = SHLoadDIBitmap(m_strImagePath);
if (m_hBmp)
{
brush.CreatePatternBrush(CBitmap::FromHandle(m_hBmp));
}
else
{
brush.CreateSolidBrush(RGB(255,0,0));
}
// CRect rectEx = m_btRect;
//
// rectEx.top -= 10;
// rectEx.bottom += 10;
// rectEx.left -= 10;
// rectEx.right += 10;
old_pen = pDC->SelectObject(&pen);
old_brush = pDC->SelectObject(&brush);
pDC->Rectangle(&rtControl); this->MoveWindow(&rtControl);
//this->Invalidate();
}
else
{
pen.CreatePen (PS_SOLID, 1, RGB(209,236,243));
m_hBmp = SHLoadDIBitmap(m_strImagePathNormal);
if (m_hBmp)
{
brush.CreatePatternBrush(CBitmap::FromHandle(m_hBmp));
}
else
{
brush.CreateSolidBrush(RGB(0,0,255));
}
old_pen = pDC->SelectObject(&pen);
old_brush = pDC->SelectObject(&brush);
pDC->Rectangle(&rtControl);
this->MoveWindow(&rtControl);
//this->Invalidate();
}我重写DrawItem这个函数以后,在这个函数里想在BUTTON获取焦点时把按钮变大。
然后在失去焦点的时候,把按钮变小。
我已经改变了矩形的大小了,但是还是不行。
解决方案 »
- 桌面应用程序的图片保存至数据库问题!
- 帮看看
- 对话框最小化,最大化,关闭按钮
- 我想改变主框架的标题栏内容,为何pMainWnd->SetTitle(lpszText);不起作用,而pMainWnd->SetWindowText(lpszText);却可以。
- 组建游戏开发团队群欢迎加入
- 为什么要在ShowWindow的后面还要调用UpdateWindow?
- 改写了响应WM_HSCROLL的函数,为什么滚动滚动条时,并没有按指定的步长值向右滑动?
- installshield 6.3打包时如何加入DLL?
- 如何用SendDlgItemMessage得到一个edit的text
- 如何使toolbar中button的文字换行?
- 要做一个下载工具,如何判断一些链接是可以下载文件的呢?比如:http://www.icxx.net/Pdf/Down/91C03D88362532DC7C173
- vc++(vs2008环境)实现调用word 审阅功能,调用excel自动生成图表功能
就是在原来的基础上吧这个按钮变大一点点。
失去焦点的时候还原。。
然而我用上面的代码,在获取焦点的时候吧矩形的变大。
然后用MoveWindow、Rectangle这2个函数
但是窗口根本就没有按照我预期的那样变大啊。。
我不知道说明白没有。
// rectEx.top -= 10;
// rectEx.bottom += 10;
// rectEx.left -= 10;
// rectEx.right += 10;这段我暂时是注释的。但是没注释的情况下。
矩形还是原来那样。根本就没有变动。。
也就是说按钮没有变大。