{
//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获取焦点时把按钮变大。
然后在失去焦点的时候,把按钮变小。
我已经改变了矩形的大小了,但是还是不行。
6 个解决方案
#1
怎么没人知道吗?
#2
不用这么复杂吧....你说的变大是指按钮的窗口变大还是线变粗...窗口变大改改size就可以了吧...线变粗只要重写NCPaint之前把DC的画笔宽度变宽就可以了吧...
#3
然后在失去焦点的时候,把按钮变小。
我已经改变了矩形的大小了,但是还是不行。
-------------------------------
你说的不行是什么不行?请说清楚一些?
我已经改变了矩形的大小了,但是还是不行。
-------------------------------
你说的不行是什么不行?请说清楚一些?
#4
我意思是说。在这个按钮获取焦点的时候。
就是在原来的基础上吧这个按钮变大一点点。
失去焦点的时候还原。。
然而我用上面的代码,在获取焦点的时候吧矩形的变大。
然后用MoveWindow、Rectangle这2个函数
但是窗口根本就没有按照我预期的那样变大啊。。
我不知道说明白没有。
就是在原来的基础上吧这个按钮变大一点点。
失去焦点的时候还原。。
然而我用上面的代码,在获取焦点的时候吧矩形的变大。
然后用MoveWindow、Rectangle这2个函数
但是窗口根本就没有按照我预期的那样变大啊。。
我不知道说明白没有。
#5
我不是在代码里面吧矩形改变了么?
// rectEx.top -= 10;
// rectEx.bottom += 10;
// rectEx.left -= 10;
// rectEx.right += 10;
这段我暂时是注释的。但是没注释的情况下。
矩形还是原来那样。根本就没有变动。。
也就是说按钮没有变大。
// rectEx.top -= 10;
// rectEx.bottom += 10;
// rectEx.left -= 10;
// rectEx.right += 10;
这段我暂时是注释的。但是没注释的情况下。
矩形还是原来那样。根本就没有变动。。
也就是说按钮没有变大。
#6
我不是只窗口。。我是指这个按钮。
#1
怎么没人知道吗?
#2
不用这么复杂吧....你说的变大是指按钮的窗口变大还是线变粗...窗口变大改改size就可以了吧...线变粗只要重写NCPaint之前把DC的画笔宽度变宽就可以了吧...
#3
然后在失去焦点的时候,把按钮变小。
我已经改变了矩形的大小了,但是还是不行。
-------------------------------
你说的不行是什么不行?请说清楚一些?
我已经改变了矩形的大小了,但是还是不行。
-------------------------------
你说的不行是什么不行?请说清楚一些?
#4
我意思是说。在这个按钮获取焦点的时候。
就是在原来的基础上吧这个按钮变大一点点。
失去焦点的时候还原。。
然而我用上面的代码,在获取焦点的时候吧矩形的变大。
然后用MoveWindow、Rectangle这2个函数
但是窗口根本就没有按照我预期的那样变大啊。。
我不知道说明白没有。
就是在原来的基础上吧这个按钮变大一点点。
失去焦点的时候还原。。
然而我用上面的代码,在获取焦点的时候吧矩形的变大。
然后用MoveWindow、Rectangle这2个函数
但是窗口根本就没有按照我预期的那样变大啊。。
我不知道说明白没有。
#5
我不是在代码里面吧矩形改变了么?
// rectEx.top -= 10;
// rectEx.bottom += 10;
// rectEx.left -= 10;
// rectEx.right += 10;
这段我暂时是注释的。但是没注释的情况下。
矩形还是原来那样。根本就没有变动。。
也就是说按钮没有变大。
// rectEx.top -= 10;
// rectEx.bottom += 10;
// rectEx.left -= 10;
// rectEx.right += 10;
这段我暂时是注释的。但是没注释的情况下。
矩形还是原来那样。根本就没有变动。。
也就是说按钮没有变大。
#6
我不是只窗口。。我是指这个按钮。