用C++制作有HTML风格的动态按钮
浏览网页时,各种制作精美的动态按钮往往让人叹为观止。这种按钮通常不为人知。当老鼠经过时,它立刻跳出来。当鼠标变成手形时,图形变得更加漂亮,有的甚至会发出独特的声音,瞬间抓住你的注意力。当鼠标移开后,一切都会恢复原状,以免分散你对新焦点的注意力。如果能用C++ Builder实现这种效果,一定会给开发出来的应用增色不少。
在C++Builder中,适合制作动态按钮的组件是SpeedButton。虽然SpeedButton可以通过一个16×64像素的位图来显示按钮的抬起、禁止、按下和保持按下的不同状态,但是要实现HTML风格的按钮,还得通过编程来实现。
选择一个喜欢的位图,命名为start.bmp使用图形制作软件(如photoshop)转换成黑白图形,保存为start1.bmp这两个位图是鼠标经过时和平时按钮显示的图形。同时选择1个声音文件(不要太长),假设其名称为crush.wav
打开一个纯文本编辑软件(如记事本)并输入以下内容:
粉碎wav粉碎. WAV
启动位图start.bmp
start1位图start1.bmp
另存为资源文件mysrc.rc..
启动构建器,打开一个新项目,并将资源文件mysrc.rc添加到该项目中。也可以通过BIN目录下的brcc32.exe将RC文件编译成RES文件,然后使用#program resource "*。res "语句将它们绑定到项目中。本文采用更简单的前一种方法。
向当前窗体添加一个新的SpeedButton,并将其命名为StartSpeedButton。根据下表设置属性:
Caption 空
光标光标点
完全正确
提示单击以…..
字形无
显示提示true
注意:在设计阶段,首先不要将按钮的Glyph属性指定为start1.bmp。
打开相应的头文件并将其添加到私有项中。
Graphics::TBitmap *start,* start 1;//定义位图
Char * chWavHandle//定义声音句柄
在主窗体的CPP文件的窗体onCreate事件对应的函数中初始化位图,
start =新图形::tbit map();
start1 =新图形::tbit map();
初始化并加载位图。
start-> Handle = load bitmap(hin instance," start ");//从内存中加载位图
start 1-> Handle = load bitmap(h instance," start 1 ");
位律师回复
0条评论