1。
我重画了一个标题栏,用贴图的,但是不知道怎么计算出标题栏按钮的起始位置
GetSystemMetrics() 函数只能获得按钮的尺寸,不能获得起始位置,
我不想去掉按钮在自己实现
希望有谁能够告诉我一下,如何计算出按钮的精确起始位置。2。
当按钮移动到按钮上时,按钮图片要切换,但是如果通过WM_NCMOUSEMOVE消息来实现,就会有这样一个问题
OnMouseMove()
{
//获取鼠标位置 Point pt;
//按钮区域 RECT rc;
if(PtInRect(pt,rc))
{
//画图片1
}
else
{
//画图片2
}}
不管有没有移动到按钮上,每次移动鼠标都在不断地重画。做其他普通按钮的时候也一样。
3。
图片背景和文字。使用TextOut或者 DrawText 可以把文字绘到位图上,但是却无法获得窗口的文本。
我看到有些软件,比如QQ,按钮上有背景图片,图片上又有文字,但是我可以用GetWindowText来获得这个文字。
这样竟然不会相互覆盖,不知道怎么做的,请高手指点一二
我重画了一个标题栏,用贴图的,但是不知道怎么计算出标题栏按钮的起始位置
GetSystemMetrics() 函数只能获得按钮的尺寸,不能获得起始位置,
我不想去掉按钮在自己实现
希望有谁能够告诉我一下,如何计算出按钮的精确起始位置。2。
当按钮移动到按钮上时,按钮图片要切换,但是如果通过WM_NCMOUSEMOVE消息来实现,就会有这样一个问题
OnMouseMove()
{
//获取鼠标位置 Point pt;
//按钮区域 RECT rc;
if(PtInRect(pt,rc))
{
//画图片1
}
else
{
//画图片2
}}
不管有没有移动到按钮上,每次移动鼠标都在不断地重画。做其他普通按钮的时候也一样。
3。
图片背景和文字。使用TextOut或者 DrawText 可以把文字绘到位图上,但是却无法获得窗口的文本。
我看到有些软件,比如QQ,按钮上有背景图片,图片上又有文字,但是我可以用GetWindowText来获得这个文字。
这样竟然不会相互覆盖,不知道怎么做的,请高手指点一二
OnMouseMove()
{
static bool bover=false;
//获取鼠标位置 Point pt;
//按钮区域 RECT rc;
if(PtInRect(pt,rc) && !bover)
{
//画图片1
bover=true;
}
if(!PtInRect(pt,rc) && bover)
{
//画图片2
}}