国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 課堂 > 技術(shù)開發(fā) > 正文

在PB中制作特殊形狀數(shù)據(jù)窗口和按鈕

2023-06-15 12:15:02
字體:
供稿:網(wǎng)友

本文介紹了如何在PowerBuilder下制作特殊形狀的數(shù)據(jù)窗口及按鈕的方法。以下是全部源碼,可以把整個(gè)窗口的源代碼導(dǎo)入到PBL里自己運(yùn)行一下試試。

$PBExportHeader$w_button.srw

forward

global type w_button from window

end type

type cb_11 from commandbutton within w_button

end type

type cb_10 from commandbutton within w_button

end type

type em_3 from editmask within w_button

end type

type em_2 from editmask within w_button

end type

type em_1 from editmask within w_button

end type

type cb_9 from commandbutton within w_button

end type

type cb_8 from commandbutton within w_button

end type

type cb_7 from commandbutton within w_button

end type

type cb_6 from commandbutton within w_button

end type

type cb_5 from commandbutton within w_button

end type

type cb_4 from commandbutton within w_button

end type

type cb_3 from commandbutton within w_button

end type

type cb_2 from commandbutton within w_button

end type

type cb_1 from commandbutton within w_button

end type

type st_1 from statictext within w_button

end type

type ws_position from structure within w_button

end type

end forward


type ws_position from structure

     long     xpos

     long     ypos

end type


global type w_button from window

integer width = 2400

integer height = 1800

boolean titlebar = true

string title = "特殊形狀數(shù)據(jù)窗口演示"

boolean controlmenu = true

boolean minbox = true

boolean maxbox = true

long backcolor = 17725690

string icon = "AppIcon!"

boolean center = true

cb_11 cb_11

cb_10 cb_10

em_3 em_3

em_2 em_2

em_1 em_1

cb_9 cb_9

cb_8 cb_8

cb_7 cb_7

cb_6 cb_6

cb_5 cb_5

cb_4 cb_4

cb_3 cb_3

cb_2 cb_2

cb_1 cb_1

st_1 st_1

end type

global w_button w_button


type prototypes

FUNCTION ulong CreateRoundRectRgn(Long x1, Long y1, Long x2, Long y2, Long x3, Long y3) library "gdi32"

FUNCTION ulong CreatePolygonRgn (ref ws_position lppt[], int cPoints, int fnPolyFillMode ) Library "gdi32"

FUNCTION ulong CreateEllipticRgn( Long x1, Long y1, Long x2, Long y2) library "gdi32"

FUNCTION ulong SetWindowRgn(ulong hWnd,ulong hRgn,boolean bRedraw) LIBRARY "user32"

FUNCTION ulong CombineRgn(Long hDestRgn, Long hSrcRgn1, Long hSrcRgn2, Long nCombineMode ) LIBRARY "gdi32"

Function Long SetParent( Long hWndChild, Long hWndNewParent) library "user32"

Subroutine keybd_event(long bVk, long bScan, long dwFlags, long dwExtraInfo) LIBRARY "user32.dll"

end prototypes


forward prototypes

public function integer of_set_oval (commandbutton acb_button)

public function integer wf_set_color ()

end prototypes


public function integer of_set_oval (commandbutton acb_button);

//////////////////////////////////////////////////

//                                                                         //

//         測(cè)試用數(shù)據(jù)(窗口多邊形)                    //

//                                                                       //

//////////////////////////////////////////////////



long ll_x1, ll_x2, ll_x3

long ll_y1, ll_y2, ll_y3

long ll_handle



ll_x1 = 1

ll_y1 = 1

ll_x2 = UnitsToPixels(acb_button.width, xunitstopixels!)

ll_y2 = UnitsToPixels(acb_button.height, yunitstopixels!)

ll_x3 = 64

ll_y3 = 64



ll_handle = CreateRoundRectRgn(ll_x1, ll_y1, ll_x2, ll_y2, ll_x3, ll_y3)

SetwindowRgn(handle(acb_button), ll_handle, true)



return 1

end function



public function integer wf_set_color ();long ll_red, ll_green, ll_blue

long ll_data

ll_red = long(em_1.text)

ll_green = long(em_2.text)

ll_blue = long(em_3.text)

ll_data = rgb(ll_red, ll_green, ll_blue)

this.backcolor = ll_data

em_1.backcolor = ll_data

em_2.backcolor = ll_data

em_3.backcolor = ll_data

st_1.backcolor = ll_data

return 1

end function



on w_button.create

this.cb_11=create cb_11

this.cb_10=create cb_10

this.em_3=create em_3

this.em_2=create em_2

this.em_1=create em_1

this.cb_9=create cb_9

this.cb_8=create cb_8

this.cb_7=create cb_7

this.cb_6=create cb_6

this.cb_5=create cb_5

this.cb_4=create cb_4

this.cb_3=create cb_3

this.cb_2=create cb_2

this.cb_1=create cb_1

this.st_1=create st_1

this.Control[]={this.cb_11,&

this.cb_10,&

this.em_3,&

this.em_2,&

this.em_1,&

this.cb_9,&

this.cb_8,&

this.cb_7,&

this.cb_6,&

this.cb_5,&

this.cb_4,&

this.cb_3,&

this.cb_2,&

this.cb_1,&

this.st_1}

end on



on w_button.destroy

destroy(this.cb_11)

destroy(this.cb_10)

destroy(this.em_3)

destroy(this.em_2)

destroy(this.em_1)

destroy(this.cb_9)

destroy(this.cb_8)

destroy(this.cb_7)

destroy(this.cb_6)

destroy(this.cb_5)

destroy(this.cb_4)

destroy(this.cb_3)

destroy(this.cb_2)

destroy(this.cb_1)

destroy(this.st_1)

end on



event mousemove;Send(handle(this), 274, 61458, 0)

end event



type cb_11 from commandbutton within w_button

integer x = 1216

integer y = 1096

integer width = 562

integer height = 148

integer taborder = 70

integer textsize = -12

integer weight = 700

fontcharset fontcharset = gb2312charset!

fontpitch fontpitch = variable!

string facename = "宋體"

string text = "半圓形花邊"

end type



event clicked;//////////////////////////////////////////////////

//                                                                         //

//               測(cè)試用數(shù)據(jù)(窗口多邊形)               //

//                                                                        //

//////////////////////////////////////////////////



long ll_handle, ll_data

ws_position lws_pointapi[]

long ll_xpos, ll_ypos, ll_width, ll_height

long ll_xnum, ll_ynum

long ll_x, ll_y, ll_flower = 20

long ll_i, ll_k



ll_xpos = 1

ll_ypos = 1

ll_width = UnitsToPixels(parent.width, xunitstopixels!)

ll_height = UnitsToPixels(parent.height, yunitstopixels!)



ll_xpos = ll_xpos + 5

ll_ypos = ll_ypos + 25 + ll_flower



ll_width = ll_width - 20

ll_width = ll_width - mod(ll_width - ll_xpos, ll_flower)

ll_xnum = (ll_width - ll_xpos) / ll_flower



ll_height = ll_height - 20

ll_height = ll_height - mod(ll_height - ll_ypos, ll_flower)

ll_ynum = (ll_height - ll_ypos) / ll_flower


lws_pointapi[1].xpos = ll_xpos + ll_flower / 2

lws_pointapi[1].ypos = ll_ypos - ll_flower / 2


lws_pointapi[2].xpos = ll_width + ll_flower / 2

lws_pointapi[2].ypos = ll_ypos - ll_flower / 2



lws_pointapi[3].xpos = ll_width + ll_flower / 2

lws_pointapi[3].ypos = ll_height + ll_flower /2



lws_pointapi[4].xpos = ll_xpos + ll_flower - ll_flower / 2

lws_pointapi[4].ypos = ll_height + ll_flower/2


ll_handle = CreatePolygonRgn(lws_pointapi[], 4, 1)


for ll_i = 1 to ll_xnum + 1

     ll_y = ll_ypos - ll_flower

     ll_x = ll_xpos + ll_flower * ( ll_i - 1 )

     ll_data = CreateEllipticRgn(ll_x, ll_y, ll_x + ll_flower, ll_y + ll_flower)

     CombineRgn(ll_handle, ll_handle, ll_data, 2)

next


for ll_i = 1 to ll_ynum + 1

     ll_y = ll_ypos + ll_flower * ( ll_i - 1 )

     ll_x = ll_xpos + ll_flower * ll_xnum

     ll_data = CreateEllipticRgn(ll_x, ll_y, ll_x + ll_flower, ll_y + ll_flower)

     CombineRgn(ll_handle, ll_handle, ll_data, 2)

next


for ll_i = 1 to ll_xnum + 1

     ll_y = ll_ypos + ll_flower * ll_ynum

     ll_x = ll_xpos + ll_flower * (ll_xnum - ll_i + 1)

     ll_data = CreateEllipticRgn(ll_x, ll_y, ll_x + ll_flower, ll_y + ll_flower)

     CombineRgn(ll_handle, ll_handle, ll_data, 2)

next


for ll_i = 1 to ll_ynum + 1

     ll_y = ll_ypos + ll_flower * (ll_ynum - ll_i + 1)

     ll_x = ll_xpos

     ll_data = CreateEllipticRgn(ll_x, ll_y, ll_x + ll_flower, ll_y + ll_flower)

     CombineRgn(ll_handle, ll_handle, ll_data, 2)

next


SetwindowRgn(handle(parent),  ll_handle,  true)  


end event


type cb_10 from commandbutton within w_button

integer x = 1216

integer y = 1096

integer width = 562

integer height = 148

integer taborder = 60

integer textsize = -12

integer weight = 700

fontcharset fontcharset = gb2312charset!

fontpitch fontpitch = variable!

string facename = "宋體"

string text = "關(guān)閉窗口"

end type


event clicked;close(parent)

end event


type em_3 from editmask within w_button

event editchanged pbm_enchange

integer x = 1289

integer y = 104

integer width = 251

integer height = 92

integer taborder = 60

integer textsize = -9

integer weight = 400

fontcharset fontcharset = gb2312charset!

fontpitch fontpitch = variable!

string facename = "宋體"

long textcolor = 33554432

long backcolor = 17725690

string text = "14"

alignment alignment = right!

borderstyle borderstyle = stylelowered!

string mask = "###"

boolean autoskip = true

boolean spin = true

double increment = 5

string minmax = "0~~255"

end type


event editchanged;wf_set_color()

end event


type em_2 from editmask within w_button

event editchanged pbm_enchange

integer x = 1024

integer y = 104

integer width = 251

integer height = 92

integer taborder = 60

integer textsize = -9

integer weight = 400

fontcharset fontcharset = gb2312charset!

fontpitch fontpitch = variable!

string facename = "宋體"

long textcolor = 33554432

long backcolor = 17725690

string text = "120"

alignment alignment = right!

borderstyle borderstyle = stylelowered!

string mask = "###"

boolean autoskip = true

boolean spin = true

double increment = 5

string minmax = "0~~255"

end type



event editchanged;wf_set_color()

end event



type em_1 from editmask within w_button

event editchanged pbm_enchange

integer x = 759

integer y = 104

integer width = 251

integer height = 92

integer taborder = 60

integer textsize = -9

integer weight = 400

fontcharset fontcharset = gb2312charset!

fontpitch fontpitch = variable!

string facename = "宋體"

long textcolor = 33554432

long backcolor = 17725690

string text = "250"

alignment alignment = right!

borderstyle borderstyle = stylelowered!

string mask = "###"

boolean autoskip = true

boolean spin = true

double increment = 5

string minmax = "0~~255"

end type



event editchanged;wf_set_color()

end event



type cb_9 from commandbutton within w_button

integer x = 590

integer y = 1096

integer width = 562

integer height = 148

integer taborder = 50

integer textsize = -12

integer weight = 700

fontcharset fontcharset = gb2312charset!

fontpitch fontpitch = variable!

string facename = "宋體"

string text = "圓形花邊"

end type

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 福清市| 米泉市| 嵊泗县| 稷山县| 泸水县| 博野县| 龙江县| 隆尧县| 那坡县| 道孚县| 徐闻县| 宣武区| 嘉荫县| 金昌市| 汾西县| 民丰县| 蕉岭县| 河西区| 汾西县| 广灵县| 姜堰市| 余庆县| 吉木乃县| 河北省| 招远市| 杭锦旗| 荔浦县| 梁平县| 鄂伦春自治旗| 平潭县| 年辖:市辖区| 金阳县| 扶风县| 乌海市| 昆明市| 蒙自县| 丹巴县| 永顺县| 周口市| 那曲县| 岑巩县|