返回首页

{A}
{S0}简介
我试图找到一个现成的使用按钮类,将工作与Pocket PC,看起来比微软的沉闷按钮更好。我认为,这将是很容易找到。好了,它没有发挥出来。我能找到的最好的代码仍然需要大量的修改,以满足我的期望。
的目标是....好了,让我们看看在功能列表。特点所有者绘制按钮类。完全透明的选项。透明位图支持向上和向下按钮。平原或3D按钮上的文字。WAV文件关联按钮。
这些都是基本要求,让您进行简单的专业寻找/代理按钮。使用代码添加UniButton.cpp和UniButton.h到项目中。添加#include quot; UniButton.hquot xxxxxxDlg.h文件或需要的地方。添加背景位图的资源和位图的句柄成员变量m_hBmpBkgnd。载入位图和分配结果在OnInitDialog()处理。这个成员变量的值稍后会通过UniButton类。画在OnPaint()的背景。将按钮添加到所需的对话框资源。对于每一个按钮,添加一个成员变量CButton的类型,使用类向导。在xxxxxDlg.h文件中,与CUniButton取代CButton的类型。在资源编辑器,检查quot;所有者Drawquot;财产。 添加所需的位图资源。例如,IDB_BITMAP_BTNUP和IDB_BITMAP_BTNDOWN。所有的按钮配置在OnInitDialog()使用CUniButton类的公共成员函数。这是位图句柄的m_hBmpBkgnd传递到CUniButton。它是这样的原因是由于背景的多个副本,以尽量减少内存的使用情况。公共方法
所有这些方法是不言自明。下面列出了其中的几个:

void    SetTransparent(BOOL Enable = FALSE);

void    SetTextColor(COLORREF TextColor = RGB(0,0,0));

BOOL    FontStyle(CString sFont = "MS Sans Serif", 

                  int iHeight = 10, int iWidth = 6,

                  BOOL bFont3D = FALSE, BOOL bConcave = FALSE);



void    HideText(BOOL bHide = TRUE);

void    SetBtnDownImg(int bmpID);        //Assign bitmap ID from resources

void    SetBtnUpImg(int bmpID);          //Assign bitmap ID from resources

BOOL    LoadWAV(CString fileName, BOOL loadMEM);

BOOL    WavIsSupported(void);

BOOL    WAVLoaded(void);

void    SetBkgndHandle(HBITMAP hBitmap); //Pass a background bitmap

void    SetTopEdgeColor(COLORREF TopEdge = RGB(50,50,50));

void    SetLeftEdgeColor(COLORREF LeftEdge = RGB(70,70,70));

void    SetTranspColor(COLORREF transpCREF);
详情
创建CUniButton时,提供支持的WAV是自动完成的。主要的功能,可以检查通过调用WavIsSipported(可用性)前调用LoadWAV()。然而,自LoadWAV()类似的检查本身,它是安全的调用没有事先检查。
LoadWAV()有两个参数。 filename指定的WAV文件的路径。 loadMEM,如果情况属实,将加载到内存缓冲区的WAV文件,因此在使用的内存为代价更快。当它是假的,每次的文件是要发挥,将创建缓冲区,将被复制到它的WAV文件,然后播放。这将是慢,但它需要较少的内存。
透明度,在这个类中,有两个含义。当透明度与SetTransparent(TRUE),按钮位图被忽略,并且按钮与背景绘制。当关闭按钮位图的透明度。虽然,它听起来令人困惑,他们画的透明度。将位图的颜色(255,255,255) - 白色透明的。透明色可以改变SetTranspColor()。
为了尽量包括Test.wav文件,它必须放在quot;我Devicequot;目录。一直以来,我无法弄清楚如何做一个模拟器,我在实际设备上测试声音。从可以下载预建演示。杂项
这段代码是quot; ISquot,没有任何担保,并只用于非商业使用。对于所有的问题,请联系{A3}。历史2005年12月25日:版本1.0 - 初始版本。

回答

评论会员:嘉凡Lierde 时间:2011/12/06
获得他妈的文章这里
评论会员:PatLeCat 时间:2011/12/06
Ciao的达维德

这是非常不公平的商业产品的文章在评论变相做广告!你知道你应该使用{A4}
确保您的按钮类的方式转凉,但至少他是给他离开自由社会!
我知道你在这里写下您尽快商业CButtonST类的文章。但是,前不久,现在你想赚钱。好,但不是在这里!
评论会员:达维德卡拉布罗 时间:2011/12/06
... CCeButtonST

SoftechSoftware
达维德卡拉布罗'
davide_calabro@yahoo.com
http://www.softechsoftware.it