亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 課堂 > 技術開發 > 正文

在PB中制作特殊形狀數據窗口和按鈕

2023-06-15 12:15:02
字體:
來源:轉載
供稿:網友

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

$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 = "特殊形狀數據窗口演示"

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);

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

//                                                                         //

//         測試用數據(窗口多邊形)                    //

//                                                                       //

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



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;//////////////////////////////////////////////////

//                                                                         //

//               測試用數據(窗口多邊形)               //

//                                                                        //

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



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 = "關閉窗口"

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩在线观看免费网站| 欧美日韩国产精品专区| 亚洲欧洲偷拍精品| 亚洲精品日韩激情在线电影| 久久久久久成人精品| 久久精品国产免费观看| 中文在线不卡视频| 精品色蜜蜜精品视频在线观看| 亚洲精品日韩欧美| 精品丝袜一区二区三区| 日韩精品在线看| 欧美在线一级va免费观看| 亚洲网站在线播放| 精品一区精品二区| 国内免费久久久久久久久久久| 热久久免费国产视频| 精品国产欧美一区二区三区成人| 91国产美女视频| 丝袜美腿精品国产二区| 日韩精品免费在线视频观看| 久久这里有精品| 亚洲精品中文字幕有码专区| 隔壁老王国产在线精品| 清纯唯美亚洲激情| 欧美一级淫片videoshd| 欧美日韩国内自拍| 久久99久久99精品中文字幕| 国产精品美女免费看| 国产精品福利小视频| 国产大片精品免费永久看nba| 韩国欧美亚洲国产| 91天堂在线视频| 国产欧美一区二区| 日韩人在线观看| 欧美大片免费观看在线观看网站推荐| 日韩欧美高清视频| 一级做a爰片久久毛片美女图片| 久久视频在线免费观看| 成人黄色免费片| 亚洲一区二区三| 亚洲国模精品私拍| 亚洲少妇中文在线| 午夜精品一区二区三区在线播放| 亚洲国产欧美一区二区三区久久| 精品国产户外野外| 成人中文字幕在线观看| 91精品啪在线观看麻豆免费| 色久欧美在线视频观看| 日韩av综合网站| 国产中文字幕91| 2020国产精品视频| 亚洲成人精品av| 亚洲free嫩bbb| 国产一区二区在线播放| 成人国内精品久久久久一区| 国产亚洲免费的视频看| 2019亚洲日韩新视频| 国产成人午夜视频网址| 97在线观看免费| 亚洲精品欧美一区二区三区| 91美女福利视频高清| 欧美视频13p| 国产精品亚洲аv天堂网| 91sao在线观看国产| 日韩电视剧在线观看免费网站| 国产精品久久久久久影视| 91精品久久久久久久久久另类| 九九久久久久久久久激情| 97久久久久久| 在线成人中文字幕| 精品久久久久久久大神国产| 国产在线观看精品一区二区三区| 91香蕉嫩草神马影院在线观看| 91高清视频在线免费观看| 亚洲第一黄色网| 国产日韩综合一区二区性色av| 亚洲新声在线观看| 中文字幕亚洲第一| 亚洲国产女人aaa毛片在线| 最新亚洲国产精品| 一区二区三区在线播放欧美| 欧美成年人视频网站| 亚洲一区二区三区四区在线播放| 精品久久久久久久久中文字幕| 性欧美办公室18xxxxhd| 日韩在线观看网站| 国产精品成人va在线观看| 亚洲天堂av图片| 欧美日韩性视频| 中文字幕欧美精品在线| 91精品国产自产在线| 51午夜精品视频| 尤物九九久久国产精品的特点| 日韩美女av在线| 亚洲欧美综合v| 91高清视频免费| 欧美丰满片xxx777| 91性高湖久久久久久久久_久久99| 狠狠色狠狠色综合日日五| 国产日韩欧美在线| 亚洲欧洲国产一区| 久久久久一本一区二区青青蜜月| 久久夜色精品国产亚洲aⅴ| 精品一区电影国产| 成人一区二区电影| 大伊人狠狠躁夜夜躁av一区| 亚洲va欧美va国产综合久久| 国产精品老女人精品视频| 久久国产色av| 欧美日韩国产成人| 国产精品国产福利国产秒拍| 日韩av影片在线观看| 精品少妇一区二区30p| 久久久久久久97| 国a精品视频大全| 亚洲黄页网在线观看| 国产欧美日韩丝袜精品一区| 国产精品日韩欧美综合| 亚洲最大成人免费视频| 久久夜精品va视频免费观看| 久久久久久久久久久人体| 成人有码视频在线播放| 久久激情五月丁香伊人| 北条麻妃在线一区二区| 操91在线视频| 欧洲亚洲在线视频| 欧美在线欧美在线| 青青草99啪国产免费| 国产精品扒开腿爽爽爽视频| 中文字幕亚洲综合| 国产精品白嫩初高中害羞小美女| 久久久国产视频| 美女国内精品自产拍在线播放| 欧美亚洲在线视频| 亚洲自拍偷拍第一页| 亚洲国产精久久久久久| www.亚洲免费视频| 亚洲人午夜精品免费| 国产欧美精品一区二区| 亚洲高清在线观看| 精品久久久久久久久久久久久| 欧美激情综合色| 亚洲新声在线观看| 国产午夜精品美女视频明星a级| 亚洲国产精品中文| 亚洲国产免费av| 国产97在线视频| 91在线视频导航| 亚洲第一在线视频| 国产91在线播放九色快色| 91久久久久久久久久久久久| 一区二区三区天堂av| 尤物yw午夜国产精品视频| 久久久久久网址| 欧美精品18videosex性欧美| 久久91精品国产91久久跳| 欧美激情伊人电影| 亚洲在线观看视频网站| 欧美亚洲国产成人精品| 欧美中文在线字幕| 亚洲国产日韩欧美在线99| 亚洲欧美三级在线| 91av在线精品| 国产欧美精品va在线观看|