




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、PB PB編碼規(guī)范PB-PB編碼規(guī)范2010-12-07 15:10*綜述*編程對象的分類以PowerBuilder作為前臺開發(fā)工具,進行軟件開發(fā)的過程中,所涉及的編程對象如下所示序號類別1源代碼2可執(zhí)行代碼3資源文件(如pbr,bmp,ico文件)4配置文件(如ini文件)5其他*編程對象的組織使用PowerBuilder開發(fā)工具產(chǎn)生的對象,可以按照設計(正在編寫和調(diào)試)和運行(調(diào)試、編譯結(jié)束,可以接受測試和運行)中的狀態(tài)進行編程對象的組織規(guī)劃,重點是目錄結(jié)構(gòu)的劃分,具體目錄的相對關系如下所示類別目錄說明源代碼SrcCode可按子系統(tǒng)再劃分子目錄(如pbl等文件夾)可執(zhí)行代碼Program或
2、項目名稱可按子系統(tǒng)再劃分子目錄圖片文件Images或pic等包含應用圖標ICO文件、BMP/JPG/GIF文件配置文件Ini其他Other*版本說明a.軟件版本號標準為A.B,其中A和B為0到99之間的數(shù)字。b.當A大于1并且B為奇數(shù)時,表示當前版本為處于開發(fā)、測試階段的版本,定義為開發(fā)版;當B為偶數(shù)時,表示當前版本為穩(wěn)定的、可實際運行的版本,定義為穩(wěn)定版。c.當軟件開始開發(fā)時,確定版本號為0.1;隨著軟件開發(fā)的進度,版本號隨著每一次主要功能的完善而變化,最高達到0.99。d.軟件初步開發(fā)完成后,經(jīng)過軟件開發(fā)小組內(nèi)部測試,初步能夠完成軟件需求提出的業(yè)務規(guī)范和技術要求,軟件基本能正常運行,此時,
3、確定該軟件版本號為1.0 Beta X,這意味著軟件可以投入實際應用測試,其中X代表測試的次數(shù)。e.當軟件的1.0 Beta X版本推出并經(jīng)過用戶實際應用或者試運行測試后,此時,確定該軟件版本號為1.0 RC。這意味著軟件可以投入實際應用運行。f.當軟件的1.0 RC版本投入實際應用運行達到某一時限后,則認為該版本已經(jīng)穩(wěn)定,可以完全正常地使用了,這時,確定軟件的版本號為1.0,這意味著軟件開發(fā)完成,可以投入實際應用和推廣。g.當軟件進行升級時,如果功能變化不大,則次版本號變化;如果軟件功能發(fā)生重大變化時,主版本號變化。*對象命名規(guī)范*命名約定a.部件名稱可以達到40個字符,組成方式為A_B。b
4、.A部分表示前綴,表示部件的類型。c.緊跟著一條下劃線_。d.B部分描述此部件的名稱。可以根據(jù)情況具體決定B的構(gòu)成。推薦將B部分分解成兩部分:功能代碼_功能描述。e.在重要變量后面寫注解表示此變量的用途。比如,常用的幾種對象命名是窗口的命名:w_功能代碼_功能描述。數(shù)據(jù)窗口控件的命名:dw_功能代碼_功能描述。數(shù)據(jù)窗口對象的命名:d_功能代碼_功能描述。菜單命名:m_功能代碼_功能描述。用戶對象:uo_功能代碼_功能描述。*具體命名規(guī)則1.函數(shù)的命名規(guī)則函數(shù)名=函數(shù)適用范圍代碼+f+_+函數(shù)功能描述,其中函數(shù)的適用范圍代碼和意義如下:g全局函數(shù);w窗口函數(shù);m菜單函數(shù);u用戶對象函數(shù)。例:檢查
5、SQL語句執(zhí)行結(jié)果的全局用戶函數(shù)命名如下:gf_checksql()。2.應用應用的命名應使用與該應用的意義相關聯(lián)的英文字母,例如,app_si表示社會保險應用系統(tǒng)。3.PBL庫PBL庫組織的好壞很重要,它會影響應用開發(fā)和維護的容易程度以及應用的性能。Library的組織應遵循以下原則:a.Library的大小。PowerBuilder對Library的大小沒有限制,但最好使之小于1MB,Library太大,PowerBuilder要花更多的時間去打開和存儲對象,這會影響開發(fā)的效率。b.Library的數(shù)量。盡量用最少的Library數(shù)量。應在Library的數(shù)量和每個Library中對象數(shù)量
6、之間找到平衡點,如果Library數(shù)量太多而每個Library中對象數(shù)量太少,搜索路徑會太長,影響運行效率。c.Library的優(yōu)化。要在Library畫筆中經(jīng)常對Library進行優(yōu)化。隨著時間的推移,Library會被分段,會使Library的存儲變得不連續(xù),影響運行效率。d.Library的分類組織。PBL庫可按子系統(tǒng)或功能組織,一般應用都包含公共PBL庫。每個PBL庫文件命名應該與該文件作用相關聯(lián),例如報表PBL庫文件命名為report.pbl。每個PBL庫文件應該包含詳細注釋,列出該PBL文件包含哪些對象,對應哪個子系統(tǒng),與其他PBL(調(diào)用)關系等信息。為了有效地進行團隊開發(fā),實現(xiàn)對
7、PB源碼的管理,要求基于對各方因素(如應用代碼的執(zhí)行效率和所占存儲空間)和維護上的全面考慮,對PB源碼實行分類的原則。PowerBuilder的Library的分類原則有兩種方式:(1)制定對象分類法根據(jù)所制定的不同類的對象進行分類。例:將所有的窗口放在一個Library中。(2)功能模塊分類法根據(jù)系統(tǒng)的功能模塊的不同,將屬于不同類的制定對象放在一個Library中。這是一種更為有效的方式。4.初始化配置文件初始化配置文件的命名必須與應用的名稱一致,擴展名為.ini,例如:si.ini。用戶的可變環(huán)境信息都應該保存在該文件中,關鍵信息加密保存,并且提供管理工具,而不是手工修改該文件。5.資源文
8、件資源文件的命名必須與應用的名稱一致,擴展名為.pbr,例如:si.pbr。6.窗口窗口的命名必須以w(Window的首字符)開頭,加下劃線(_),其后緊接與窗口意義相關聯(lián)的英文字母(總長不得超過PowerBuilder的40個字符限制),并且在注釋(Comments)框內(nèi)寫出該窗口的作用(中文或英文),如下所示。序號窗口名稱Comments 1w_about關于本系統(tǒng)的版權(quán)信息2 w_system_error系統(tǒng)出錯提示3 w_main系統(tǒng)主界面4 w_report_sheet報表輸出7.數(shù)據(jù)窗口普通數(shù)據(jù)窗口的命名必須以dW(DataWindow縮寫)開頭,代碼表下拉式子數(shù)據(jù)窗口必須以ddd
9、w(DropDownDataWindow縮寫)開頭,加下劃線(_),其后緊接與數(shù)據(jù)窗口意義相關聯(lián)的英文字母(總長不得超過PowerBuilder的40個字符限制),并且在Comments框內(nèi)寫出該數(shù)據(jù)窗口的作用(中文或英文),如下所示。序號數(shù)據(jù)窗口名稱Comments 1d_system_error顯示系統(tǒng)錯誤,被w_System_Error窗口調(diào)用2 d_categories對產(chǎn)品分類,被w_Report_Sheet窗口調(diào)用3 d_detail_parts Parts of Products Described in Detail 4d_detail_function Products Fu
10、nction Described in Detail 5dddw_sex性別代碼表8.菜單菜單的命名必須以m(Menu縮寫)開頭,加下劃線(_),其后緊接與菜單意義相關聯(lián)的英文字母(總長不得超過PowerBuilder的40個字符限制),并且在Comments框內(nèi)寫出該菜單的作用(中文或英文),如下所示。序號菜單名稱Comments 1m_main Front End Main Menu 2m_report Report Subsystem Menu 3m_main_pop主界面的彈出菜單9.函數(shù)函數(shù)的命名必須符合類型f_subsystemname_detailname或lf_detailna
11、me格式,其中gf表示是全局函數(shù),subsystemname是子系統(tǒng)的英文縮寫,detailname是與函數(shù)意義相關聯(lián)的英文字母(總長不得超過PowerBuilder的40個字符限制),對于全局函數(shù)應該在Comments框內(nèi)簡短寫出該函數(shù)的作用(中文或英文),如下所示。序號函數(shù)名稱Comments 1gf_help_index幫助子系統(tǒng)索引全局函數(shù)2 lf_get_user_info獲取用戶信息局部函數(shù)3 gf_query_sortbyname查詢子系統(tǒng)名排序全局函數(shù)10.用戶對象用戶對象的命名必須以uo(UserObject縮寫)開頭,加下劃線(_),其后緊接與用戶對象意義相關聯(lián)的英文字母(
12、總長不得超過PowerBuilder的40個字符限制),并且在Comments框內(nèi)寫出該用戶對象的作用(中文或英文),如下所示序號用戶對象名稱Comments 1uo_external_function Cross platform user object ancestor 2uo_report_structure User Object as astructure For report 11.控件控件的命名必須以控件名稱縮寫開頭,加下劃線(_),其后緊接與控件作用相關聯(lián)的英文字母(總長不得超過PowerBuilder的40個字符限制),如下所示序號控件名稱控件縮寫控件命名范例1 Comman
13、dButton cb cb_ok 2PictureButton pb pb_thank_info 3CheckBox cbx cbx_age_show 4RadioButton rb rb_typical_setup 5StaticText st st_user_id 6Picture pp_user_photo 7GroupBox gb gb_detail_info 8Line ln ln_h_separator 9Oval oval oval_used_flag 10 Rectangle rr_photo_frame 11 RoundRectangle rr rr_companyflag
14、12 SingleLineEdit sle sle_user_name 13 MultiLineEdit mle mle_book_comments 14 RichTextEdit rte rte_student_answer 15 EditMask em em_telephone_no 16 HScrollBar hsb hsb_time_set 17 VScrollBar vsb vsb_money_set 18 DropDownListBox ddlb ddlb_your_favourite 19 DropDownPictureListBox ddplb ddplb_photo_prev
15、iew 20 ListBox lb lb_department_name 21 PictureListBox plb plb_user_identification 22 ListView lv lv_all_user 23 TreeView tv tv_customers 24 TabPage tpg tpg_ordinary_super 25 Tab tab tab_super 26 DataWindow dw dw_user_info_detail 27 Graph gr gr_month_report 28 Ole ole ole_word_doc*變量命名規(guī)范變量取名應遵守命名規(guī)范,
16、對使用頻繁的或關鍵變量,為了便于閱讀和修改,在定義時應加上注釋標明其含義。例如:String ls_name/參保人員姓名變量命名規(guī)則為:變量范圍+變量數(shù)據(jù)類型+_+含義代碼*變量數(shù)據(jù)類型約定數(shù)據(jù)類型前綴Any a_ Blob bb_ Boolean b_ Character c_ Date d_ DateTime dt_ Decimal dec_ Double db_ Integer i_ Long l_ String s_ Time t_ UnsignedInteger ui_ UnsignedLong ul_ DataWindow dw_ DataWindowChild dwc_ Mai
17、lSession ms_ Menu m_ Structure str_ Transacttion trans_ Window w_ UserObject uo_*變量范圍命名約定范圍字首描述Global g?_全局變量將在整個應用中有效。它們可能從其他對象面板中定義,但它們將在整個應用中有效Shared s?_共享變量在一個對象及其實例中有效Instance i?_實例變量僅在一個對象的實例中有效。相應對象的不同實例中的變量保存各自的值Local l?_局部變量僅在一段子程序或在script開始和結(jié)束時生效由值傳遞的變量v?_在定義函數(shù)時,參數(shù)僅傳遞值,不會被函數(shù)(僅適用于函數(shù)變量)改變,定義
18、為value,例:vdw_datawindow由引用傳遞的變量r?_在定義函數(shù)時,參數(shù)將被此函數(shù)改變,(僅適用于函數(shù)變量)定義為reference,例:rl_long注意:?表示相應數(shù)據(jù)類型,如i,c,l,s等數(shù)據(jù)類型前綴。對于上述的內(nèi)容做如下說明。a.全局變量的命名必須符合gT_subsystemname_detailname格式,其中g表示是全局變量(Globe),T是數(shù)據(jù)類型(DataType)的簡寫。subsystename是子系統(tǒng)的英文簡寫。detailname是有具體意義的英文字母。例如:gs_query_user_info,即為查詢子系統(tǒng)定義了一個字符串型全局變量。b.局部變量的
19、命名必須符合lT_detailname格式,其中l(wèi)表示是局部變量(Local),T是數(shù)據(jù)類型(DataType)的簡寫。例如:li_user_salary,即定義了一個整數(shù)型局部變量。c.實例變量的命名必須符合iT_detailname格式,其中i表示是實例變量(Instance),T是數(shù)據(jù)類型(DataType)的簡寫。Detailname是有具體意義的英文字母。例如:is_product_name,即定義了一個字符串型實例變量。*編程規(guī)范*書寫格式a.用分層縮進的寫法顯示嵌套結(jié)構(gòu)的層次。b.在注釋段與程序段,以及不同邏輯的程序段之間插入空行。c.每行只寫一條語句,當需要滾動顯示時應該分行書
20、寫。*流控制流控制首先應遵守PowerBuilder語法規(guī)范,且用分層縮進的寫法突出顯示嵌套的層次結(jié)構(gòu),例如:For i=1 To 100 For j=1 To 50 For k=1 To 200 Matrixi,j,k=1 Next Next Next*注釋及格式要求注釋總是加在程序中需要概括性說明或不易令人理解或容易令人理解錯的地方。注釋語言應簡練、易懂而又準確,所采用的語種首選是中文,如有輸入困難或特殊需求也可采用英文。注釋原則:a.函數(shù)或過程的注釋(1)在函數(shù)頭部必須說明函數(shù)的功能和參數(shù)(值參、變參);(2)在函數(shù)的主體部分,如算法復雜時,應以注釋的方式對其算法結(jié)構(gòu)做出說明;(3)函數(shù)
21、申請過全局資源且有可能導致資源緊張應加以注明(如內(nèi)存和文件柄等);(4)函數(shù)有副作用一定以十分醒目的方式(如加!號等)注明。b.語句的注釋(1)應對不易理解的分支條件表達式加注釋;(2)不易理解的循環(huán),應說明出口條件(有GOTO的程序還應說明入口條件);(3)過長的函數(shù)實現(xiàn),應將其語句按實現(xiàn)的功能分段加以概括性說明。c.常量和變量的注釋在常量名聲明后應對該名做適當?shù)淖⑨專⑨屨f明的要點是:(1)被保存值的含義(必須);(2)合法取值的范圍(可選);(3)全局量需要對以上逐點做充分的說明。d.制定對象的注釋每個開發(fā)人員針對自己所制定的窗口、菜單、數(shù)據(jù)窗口、數(shù)據(jù)管道和用戶對象等添加注釋,要點是:(
22、1)標注對象的用途;(2)標注對象的制定人員;(3)標注時間或者修改時間。具體格式要求如下:1.在窗口Open事件前應說明/*=*/窗口中英文名稱:/窗口作用:/作者:/日期:/*=*/2.在事件腳本(Script)之前應說明/*=*/腳本作用:/輸入?yún)?shù)及數(shù)據(jù)類型:/返回參數(shù)及數(shù)據(jù)類型:/全局函數(shù)及其用途:/全局變量及其用途:/作者:/日期:/修改人的姓名:/修改日期:/修改原因:/*=*/若有多人修改,每個人均加上自己的注釋,而不能改他人的姓名、日期、原因,對要修改的腳本,只能注釋不能刪除,并且在修改的地方加上修改人名、日期和Beginning Modification.,Ending M
23、odification字樣。3.腳本中的注釋單行腳本程序注釋:/注釋文本腳本的程序段注釋:/*=*/注釋文本/*=*/變量的注釋如下:數(shù)據(jù)類型變量名/注釋4.在函數(shù)、存儲過程等腳本(Script)之前應說明/*=*/函數(shù)名稱:/參數(shù)解釋:/功能描述:/調(diào)用舉例:/最初作者:/編寫日期:/返回值:/變量情況:/修改人:/修改日期:/修改原因:/*=*/*Powerbuilder腳本編程規(guī)范1.Powerbuilder編程注意事項a.不要在子應用中聲明全局變量!如必須聲明全局變量,則應事先向項目負責人申請。b.供別的文件或函數(shù)調(diào)用的函數(shù),絕不應使用全局變量交換數(shù)據(jù)。c.所有SQL語句均需判斷返回結(jié)
24、果(包括SELECT,COMMIT語句)。例:If sqlca.sqlcode=-1 Then錯誤處理程序跳出Else正常End If d.缺省SQLCA的連接語句connect,在應用Open事件中完成,其disconnect在主應用的Close事件中完成,其余任何pbl中均不能有disconnect語句。e.由于要連接多個數(shù)據(jù)庫,需要用Create創(chuàng)建對象,比如:SQLSYB,則用connect using SQLSYB,處理完畢后用disconnect using SQLSYB,并且用destroy SQLSYB釋放資源。2.編碼標準(1)在代碼塊前后留一個空行。例子如下:If cond
25、ition1 Then statementblock End If For varname=start To End Step increment statement_block Next(2)把單行注釋與當前script程序的縮進位置對齊:/This is acomment For condition1 If condition1 Then/This is acomment For condition2 If condition2 Then/This is acomment For action1 action1 End If End If(3)縮進應以Tab鍵實現(xiàn),不得采用空格。(4)變量
26、采用小寫格式。注意:變量全部用小寫;一個變量一行,每個變量必須注釋;通常情況下,變量的后半部分盡量用數(shù)據(jù)庫字段名;變量聲明全部在腳本之前聲明完畢;所有變量聲明時按代碼功能段+變量類型進行排序。例如:Long ll_quantity String ls_name對象名采用小寫,屬性、關鍵字、保留字和內(nèi)置函數(shù)均用首字母大寫格式:w_cont_de.Visible=True m_mdi.m_數(shù)據(jù)窗口控制的函數(shù)加上修飾,而不以數(shù)據(jù)窗口對象作為參數(shù):dw_main.SetTransObject(sqlca)dw_main.SetRowFocusIndicator(Hand!)dw_main.Retrie
27、ve()(5)當連接起來的字符串超過了兩行的長度時,使用+符作為下行的第一個字符,每次均采用縮進格式。字符串的隨后部分應該再次縮進。例如:ls_msg=連接數(shù)據(jù)庫失?。″e誤信息為:rn&+Sqlca.SqlErrText&+請與系統(tǒng)管理員聯(lián)系(6)PowerBuilder保留字(關鍵字)首字母大寫其余小寫,這樣看起來層次清晰,如:This,Parent,ParentWindow,True,F(xiàn)alse,Return,Halt與Close。(7)PowerBuilder內(nèi)部函數(shù)及屬性每個字首字母大寫其余小寫,這樣看起來層次清晰,如:sle_user.Text,dw_1.SetTransObject
28、(Sqlca),Sqlca.SqlErrText。(8)SQL語句按如下格式書寫:SELECT name,sex,dept_id INTO:ls_name,:ls_sex,:ls_dept_id FROM employee WHERE emp_id=:ls_emp_id;(9)程序中應避免出現(xiàn)goto跳轉(zhuǎn)語句。3.腳本中一些常用功能模塊的編程約定(1)光標操作過程的編程約定如下:Declare Cursorname Cursor for Select語句Open Cursorname;fetch Cursorname into variables Do While Sqlca.Sqlcode=
29、0 statementblock fetch Cursorname into variables Loop Close Cursorname光標命名規(guī)則:Cur+_+名稱。(2)調(diào)用數(shù)據(jù)庫存儲過程的編程約定如下:declare Procedurename procedure For StoredProcedureName:Value1,:Value2.;execute Procedurename;fetch Procedurename into variables;close Procedurename;commit;存儲過程命名規(guī)則:Pro+_+名稱。有些系統(tǒng)存儲過程(例如:sp_dropl
30、ogin)不能當做一個事務提交,為了執(zhí)行它,就必須先置事物對象的AutoCommit屬性為True,當存儲過程執(zhí)行完畢后再將事務對象的AutoCommit屬性置為False。(3)在每一個SQL語句之后必須判斷SQL語句執(zhí)行成功與否,成功則繼續(xù),不成功則做相應處理并給出一條提示信息。If Sqlca.SqlCode 0Then Rollback;MessageBox(錯誤信息,操作失敗!)Else Commit;MessageBox(提示信息,操作成功!)End If(4)所有操作符(包括等號)前后應留一空格,使程序看起來更清晰。例如:ls_msg=ls_title+ls_error(5)僅當
31、絕對需要時才在循環(huán)結(jié)構(gòu)體中使用函數(shù)調(diào)用,也就是說,僅當函數(shù)的返回值依賴于循環(huán)迭代的值時才使用函數(shù)調(diào)用。使用如下方法:Long ll_num_selected ll_num_selected=lb_devctg.TotalSelected()For i=1 To num_selectedNext不使用下述方法:For i=1 To lb_1.TotalSelected()Next 4.PB中的任何一個窗口都要有注釋說明一般在窗口的Open事件中對窗口的功能進行全面的介紹,以便維護人員可以很清楚地知道窗口的功能和維護要點。其格式可參見前面的說明。5.表的操作在程序中涉及多個表的操作時,需嚴格按照各
32、項目組表操作順序一覽表規(guī)定的順序?qū)Ρ磉M行操作,以防發(fā)生鎖表現(xiàn)象。*控件編程規(guī)范*公共部分a.應盡量為所有控件使用有意義的名稱,重要控件不允許使用pb_1之類無明確意義的名稱。b.大號字體:各窗口控件字體為Arial,字號為12號,字色為黑色。小號字體:各窗口控件字體為宋體,字號為9號,字色為黑色。c.顯示控件和輸入控件底色分開,顯示控件為灰色(窗口顏色),輸入控件為白色。d.輸入?yún)^(qū)和顯示區(qū)分別放置。e.按鈕排列緊湊,在窗口右側(cè)縱向排列時靠上放置;在窗口下方排列時靠右放置,因為左撇子操作者畢竟是少數(shù)。f.各字符類控件對齊方式為左對齊;數(shù)字類控件為右對齊,且必須按所需格式設置Format屬性;日期
33、控件必須保證能完整顯示所需日期格式,應用yyyy-mm-dd風格。及有前導0的形式(避免2000年問題),可采用左對齊或中對齊。g.CommandButton控件的推薦高度為104。*控件細則1.靜態(tài)文本框靜態(tài)文本框命名規(guī)則:st+_+名稱(若為label可不改名)。外觀規(guī)定如下:背景色:buttonface;前景色:黑色;邊框:無;高度:72。建議在其后加上全角冒號(:)。2.單行編輯框單行編輯框命名規(guī)則:sle+_+名稱。(1)外觀背景色:白色;前景色:黑色;邊框:3D Lowered;高度:72。(2)程序說明a.響應事件建議自定義Keydown事件,盡量不要用Modify事件。b.當獲
34、得焦點時控件背景變?yōu)樯钏{色,字體顏色變?yōu)辄S色,失去焦點時還原缺省顏色。3.命令按鈕命令按鈕命名規(guī)則:cb+_+名稱(1)外觀高度:對于小號字體(宋體9號)為92;對于大號字體(Arial 12號)為108。寬度:對于小號字體(宋體9號)為325;對于大號字體(Arial 12號)為402。(2)說明命令按鈕控件不要使用cb_1之類無明確意義的名稱(尤其在窗口中這類控件比較多時,可能令人分不清各個控件的作用)。4.圖像按鈕盡量不用圖形按鈕,而用命令按鈕。圖像按鈕命名規(guī)則:pb+_+名稱。外觀規(guī)定如下:尺寸:用圖像原始尺寸;圖像:按鈕的有效與無效采用不同的bmp圖像以示區(qū)別。5.復選框復選框命名規(guī)
35、則:cbx+_+名稱外觀規(guī)定如下:背景色:buttonface;前景色:黑色;邊框:3D Lowered;高度:92;位置:標簽在右。6.單選按鈕單選按鈕命名規(guī)則:rb+_+名稱。(1)外觀背景色:buttonface;前景色:黑色;邊框:3D Lowered;高度:92;位置:標簽在右。(2)程序說明單選按鈕最好與組框配合使用。7.組框組框命名規(guī)則:gb+_+名稱。外觀規(guī)定如下:背景色:buttonface;前景色:黑色;邊框:3D Lowered。8.屏蔽編輯框屏蔽編輯框命名規(guī)則:em+_+名稱。(1)外觀背景色:白色;前景色:黑色;邊框:3D Lowered。(2)程序說明a.響應事件建
36、議用自定義Keydown事件,盡量不要用Modify事件。b.當獲得焦點時控件背景變?yōu)樯钏{色,字體顏色變?yōu)辄S色,失去焦點時還原缺省顏色。9.下拉列表框下拉列表框命名規(guī)則:ddlb+_+名稱。外觀規(guī)定如下:背景色:白色;前景色:黑色;邊框:3D Lowered。10.應用應用命名規(guī)則:app+_+應用名。為應用選擇一個圖標,以便在運行時標識應用。在Open事件中聲明SQLCA全局變量和打開應用主窗口。在Closequery事件中編寫退出應用之前的處理程序。在SystemError事件中編寫系統(tǒng)出錯的處理程序。11.窗口窗口命名規(guī)則:w+_+窗口名。主窗口采用main窗口類型,子窗口一般采用Pop
37、up窗口類型,無控制菜單,無最大化最小化按鈕,不可改變大小。若為一般性提示窗口,用response窗口類型。窗口以buttonface顏色為背景顏色。重要的菜單選項設置Toolbar功能。窗口上下左右四周應至少留出兩個網(wǎng)格,而不得將對象填滿整個窗口!12.菜單菜單命名規(guī)則:m+_+菜單名。菜單項MenuItem的名稱以該菜單項在整個菜單中的物理位置分層次命名。例:若MenuItem位于整個菜單的第三列第二行,則命名為m_32。或文件菜單下的關閉菜單項,則命名為m_。13.數(shù)據(jù)窗口對象數(shù)據(jù)窗口對象命名規(guī)則:d+_+功能含義。打印用數(shù)據(jù)窗口背景色為白色,題目為16號字,內(nèi)容為11號字,顯示比例為75%。顯示用數(shù)據(jù)窗口背景色原則上為buttonface,可視窗口制作是否美觀的實際情況使用白色數(shù)據(jù)窗口各列顯示框高度為72。Tabular和Grid風格數(shù)據(jù)窗口,無表頭時列名文本邊框為3D Raised。Detail區(qū)為3D Lowered,背景色原則上為白色。Grid風格數(shù)據(jù)窗口一般不出現(xiàn)線條。14.數(shù)據(jù)窗口控件數(shù)據(jù)窗口控件命名規(guī)則:dw+_+功能含義。數(shù)據(jù)窗口邊框原則上
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教科版科學四年級上冊課堂管理教學計劃
- 教師探索“雙減”政策下教學模式心得體會
- 2025年年度醫(yī)藥行業(yè)工會工作計劃范文
- 城市綠地水土保持體系措施
- 風電場電力施工安全管理措施
- 食品加工HSE保證措施
- 兒童全麻患者復蘇管理措施及流程
- 以小見大:探尋中小學課堂道德細節(jié)的育人密碼
- 以復旦大學BBS論壇為鑒:網(wǎng)絡民主參與高校事務管理的現(xiàn)狀與突破
- 部編本四年級語文習作教學計劃
- 氣管異物應急預案
- 中藥飲片標簽管理規(guī)定
- 防臺風防雷安全
- 服飾2個人合伙人協(xié)議書范文
- 企業(yè)信息化建設與管理咨詢合同
- 國家開放大學電大《基礎寫作》期末題庫及答案
- 2025年中考作文試題預測及范文
- 第3章-機床夾具
- 侵入性操作相關感染防控
- 江蘇省鎮(zhèn)江市近五年中考作文題目及2024年中考作文指導及例文
- 2024年譯林英語三年級上冊Unit1 第1課時 (教學課件)Cartoon time
評論
0/150
提交評論