MFC 按钮贴图有关问题
MFC 按钮贴图问题
在开发程序是,经常要用到按钮,而MFC默认的按钮太简单了...
想通过贴图的方式(LoadBitmaps)美化一下按钮.
但是现在的问题就是.
1. LoadBitmaps只支持BMP的;
2. LoadBitmaps需要有一套几个图标才能表示不同的状态(正常,按下,焦点,无效等),如果只有一个图标,那按下按钮时,按钮状态并不会更改, 而网上的素材,一般只有一个图标.
请问,除了自己重写按钮类,有啥比较简单的方法可以解决这两个问题.
------解决方案--------------------
1. LoadBitmaps只支持BMP的;
可以用CImage或GDIPlus
2. LoadBitmaps需要有一套几个图标才能表示不同的状态(正常,按下,焦点,无效等)
自己绘制按钮,根据状态不同,调整坐标就可以了.比如BitBlt的坐标.
参考:
http://www.vckbase.com/index.php/wv/1652.html
http://www.vckbase.com/index.php/wv/1529.html
------解决方案--------------------
当然你也可以用PtInRect来判断你的鼠标位置是否在按钮上,如果在按钮上在判断鼠标是按下还是移动,还是处于上面这三个状态去给按钮重新加载位图。
------解决方案--------------------
codeproject上搜索CButtonST吧,应该符合你的要求的
------解决方案--------------------
参考文献:
http://www.vckbase.com/index.php/wv/1652.html
http://www.vckbase.com/index.php/wv/1529.html
在开发程序是,经常要用到按钮,而MFC默认的按钮太简单了...
想通过贴图的方式(LoadBitmaps)美化一下按钮.
但是现在的问题就是.
1. LoadBitmaps只支持BMP的;
2. LoadBitmaps需要有一套几个图标才能表示不同的状态(正常,按下,焦点,无效等),如果只有一个图标,那按下按钮时,按钮状态并不会更改, 而网上的素材,一般只有一个图标.
请问,除了自己重写按钮类,有啥比较简单的方法可以解决这两个问题.
------解决方案--------------------
1. LoadBitmaps只支持BMP的;
可以用CImage或GDIPlus
2. LoadBitmaps需要有一套几个图标才能表示不同的状态(正常,按下,焦点,无效等)
自己绘制按钮,根据状态不同,调整坐标就可以了.比如BitBlt的坐标.
参考:
http://www.vckbase.com/index.php/wv/1652.html
http://www.vckbase.com/index.php/wv/1529.html
------解决方案--------------------
当然你也可以用PtInRect来判断你的鼠标位置是否在按钮上,如果在按钮上在判断鼠标是按下还是移动,还是处于上面这三个状态去给按钮重新加载位图。
------解决方案--------------------
codeproject上搜索CButtonST吧,应该符合你的要求的
------解决方案--------------------
参考文献:
http://www.vckbase.com/index.php/wv/1652.html
http://www.vckbase.com/index.php/wv/1529.html