cgs3300:从uxtheme.dll调用画图函数,更能完美地实现XP风格!但只能在XP下实现。
(发表于2003-1-28 9:06:00)
wanmin830:郑恒,能说一下你的HLS2RGB()等函数的原理吗?
(发表于2003-1-29 11:25:00)
herrylou80:XP操作系统下,Release版本会出现错误……
不知道是什么原因
(发表于2003-2-3 11:07:00)
lbird:作者注:
很抱歉,在Release版本中会出现错误,
我将尽快改正。
(发表于2003-2-8 23:44:00)
lbird:改正如下:
1、OnMouseMove函数
void CButtonXp::OnMouseMove(UINT nFlags, CPoint point)
{
if(m_bOver ==FALSE)
{
//鼠标在按钮之上
m_bOver =TRUE;
//按钮重绘
InvalidateRect(NULL,FALSE);
//跟踪鼠标
SetCapture();
}
else
{
CRect rc;
GetClientRect(&rc);
//鼠标是否已在按钮区这外
if(!rc.PtInRect(point))
OnMouseOut();
}
}
2、OnMouseOut函数
void CButtonXp::OnMouseOut ()
{
//鼠标已离开按钮区域
m_bOver =FALSE;
//重绘按钮
InvalidateRect(NULL,FALSE);
ReleaseCapture();
}
用SetCapture和ReleaseCapture两个取代TrackMouseEvent()来跟踪鼠标位置,
(发表于2003-2-9 13:07:00)
hellin:不错!
(发表于2003-2-13 9:43:00)
kinglz:如果用SetCapture()捕获鼠标消息的话,那TrackMouseEvent()还有什么用列????
(发表于2003-3-19 8:50:00)
namelysweet:XP下我用VC++.NET 7.1(2003)编译有错误,不知道为什么...
(发表于2003-7-12 15:21:00)
zbc:不错,谢谢,以后可以实现自己的xp风格了,哈哈
(发表于2003-8-4 13:08:00)
umama:'HLS_TRANSFORM' : undeclared identifier ???
(发表于2005-5-11 10:46:00)
ikohl:不错,非常好,谢谢!
(发表于2005-6-16 14:40:00)
tfq2002:程序有个bug,如果把
CButtonXp::DrawItem(LPDRAWITEMSTRUCT lpDIS)
{
······
if(state & ODS_FOCUS)
{
rtControl.DeflateRect(1,1);//拥有焦点矩形变小
}
······
}
改为rtControl.DeflateRect(5,5);
会出现:
[img]d:\1.gif[/img]
(发表于2005-9-21 16:37:00)
tfq2002:图片怎么发不上去
(发表于2005-9-21 16:39:00)
tfq2002:
(发表于2005-9-21 16:41:00)
bjtuwei:XP下我用VC++.NET 7.1(2003)编译有错误,不知道为什么...
g:\cpp\Myqq\Myqq\ButtonXP.cpp(26) : error C2440: “static_cast” : 无法从“LPARAM (__thiscall CButtonXP::* )(void)”转换为“LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)”
在匹配目标类型的范围内没有具有该名称的函数
(发表于2006-3-1 17:24:00)
ashengsheng:看不太懂了。
(发表于2006-6-1 20:19:00)
..........................................................................
--------------------next---------------------