三九宝宝网宝宝百科宝宝知识

C++Builder中异形按钮的实现

11月13日 编辑 39baobao.com

[在excle中如何设置按钮指定宏]2然后录制一个宏。3接着在开发工具下面找到插入4选择一种按钮的样式。5选择之后,会弹出一个对话框,写上这个按钮的名称。6然后指定一个录制好的宏。7最后点击确定就可以...+阅读

“异形”按钮非常有趣,就是按钮的形状不是标准的长方形或正方形,而有一丝“叛逆”——“异形”嘛,是不是?怎样才能实现“异形”按钮呢?由于window 95增加了对窗口区域概念的支持,使得窗口区域就是所定义的窗口看上去的形状,窗口区域作为窗口的实际边界区域,这样窗口区域不仅定义了窗口的可画区域,而且定义了窗口下隐含区域和响应鼠标击键事件的响应窗口区域。

按钮的各种形状是在运行时设置的而不是在设计时设置。设计时按钮的形状仍然是长方形或正方形。

按钮形状的设计分成两个步骤:

第一步创建按钮的外形,即定义窗口区域。使用api的区域创建函数就可达到目的。区域创建函数很多,主要有createellipticrgn 、createpolygonrgn、 createrectrgn、 createroundrectrgn,用于创建不同类型的区域显示。如果需要一个复杂区域形状,那么可以分别使用不同的区域函数创建不同的区域,然后调用binergn api函数把它们组合起来。所以说,不仅可以创建出圆形、三角形的按钮,而且还可以创建出其它各种形状的按钮。

第二步将区域显示应用到窗口上。一旦使用区域函数创建了一个新的区域显示,就可以使用setwindowsrgn函数将这个区域应用到窗口上。

下面给出圆形、三角形按钮实现的具体代码。为了直观显示效果,将窗体的背景色设置为了黑色(color设置为clbtntext),并将两个按钮的cursor设置crcross。在窗体放置两个button按钮,分别定义为rbutton、tbutton。实现窗口区域的时机是在窗体首次创建时,所以将处理程序放在oncreate事件中。

void __fastcall tform1::formcreate(tobject *sender)

{

创建园形按钮

hrgn hrgnr = createellipticrgn(0,0,rbutton→width,rbutton→height);

setwindowrgn(rbutton→handle,hrgnr,true);

创建三角形按钮

trpoint[0].x=tbutton→width/2;

trpoint[0].y=0;

trpoint[1].x=0;

trpoint[1].y=tbutton→height;

trpoint[2].x=tbutton→width;

trpoint[2].y=tbutton→height;

hrgn hrgnt = createpolygonrgn(trpoint,3,alternate);

setwindowrgn(tbutton→handle,hrgnt,true);

}

考试大提示:其中trpoint在unit.h头文件中定义如下:

private: user declarations

point trpoint[3];

上面的代码在按钮的边界内分别创建了一个园形区域和一个三角形区域,考试大提示:然后作为新的窗口区域把它赋给各自的按钮。

在创建园形按钮时使用了椭圆形区域创建函数,要使按钮为园形在设计时该按钮应设计为正方形。另外区域是以按钮坐标的形式定义的,而不是用屏幕坐标。(0,0)点是按钮的最左上角,而(宽,高)点是按钮的最右下角。

应该注意的是,一旦将区域句柄赋给按钮,就不能再对区域句柄作任何操作。如果将区域句柄赋给按钮后,修改或删除这个句柄将导致程序崩溃,所以……千万不要这样做,否则,你的程序虽然花哨了一些,但却是“拾了芝麻丢了西瓜”而因小失大!说到这里,我想,程序设计首先要注意“稳定性”,至于其它的都次要。

以下为关联文档:

Word五个冷僻却非常实用命令的快捷按钮添加方法使用Word编辑文档过程中,会经常用到“添加着重号”、“复制所选内容并将其以图片格式放入剪贴板(即复制到图片)”、“表格单元格内容与单元格中心对齐”、“分页时防止段落最后...

删除多余Office工具栏按钮或菜单命令删除按钮1、在“工具”菜单上,单击“自定义”。2、确保要更改的工具栏是可见的。操作方法·在“自定义”对话框中,单击“工具栏”选项卡。·选中要显示的工具栏的复选框...

编辑Office菜单或按钮的键盘加速键可使用鼠标重新排列和修改工具栏按钮、菜单和菜单命令,也可使用可通过键盘菜单访问的“重排命令”对话框。这些任务均被标识为(可通过键盘访问)。键盘加速键可让您通过按 AL...

OFFICE辅导:Excel按钮调用宏如果宏对所有工作簿文档有效,建议大家在工具栏上添加一个命令按钮,用来调用宏。操作方法如下:1、执行“工具→自定义”命令,打开“自定义”对话框。2、切换到“命令”标签下,...

挽救未存盘WPS文件慎点关闭按钮你是否遇到过这种情况,在用WPS编辑文稿时,如果较长时间忘记手动存盘却突然停电了,或突然出现“非法操作”的提示后你立即点击提示框中的“关闭”,则在这段时间内输入的新内容会...

推荐阅读
图文推荐