SND_SYNC);
blStart=false;// 再发生OnMouseMove事件不可以点亮按钮
}
当然,还必须在鼠标离开按钮时再将图形恢复为黑白。如何才能知道鼠标离开呢?比较原始的办法自然是用鼠标的坐标位置来判断,但这样很费力。一个巧妙的招数是用包含(在位置上)此按钮的其它部件的OnMouseMove事件来判断(注意:选用的外围部件相对于此按钮来说需有足够的纵深,否则,一旦鼠标移动太快,有可能会漏过OnMouseMove事件而发生紊乱。确决的办法是,再加上更外围的部件的OnMouseMove事件来双保险)。
以按钮的外围部件是主表单MainForm为例,在其OnMouseMove事件所对应的函数MainFormMouseMove()中加入
if(!blStart)//鼠标正好由按钮内移出
StartSpeedButton->Glyph->Assign(start1);// 图形恢复黑白
blStart=true;//为鼠标重新进入按钮作准备
最后在主表单CPP文件前部加入为SndPlaySound提供声明的头文件
#include
编绎运行,哈哈,一切正如所想的,我的按钮也具备了HTML风格,你还不赶紧行动。
注:以上程序在 Builder 4.0/win98环境下运行通过。这里所说的主表单也可以是包含动态按钮的表单。
关键词:用C++制作具有HTML风格的动态按钮