寫在前面
這是PB案例學習筆記系列文章的第5篇,該系列文章適合具有一定PB基礎的讀者。
透過一個個由淺入深的程式設計實戰案例學習,提高程式設計技巧,以保證小夥伴們能應付公司的各種開發需求。
文章中設計到的原始碼,小凡都上傳到了gitee程式碼倉庫https://gitee.com/xiezhr/pb-project-example.git
需要原始碼的小夥伴們可以自行下載檢視,後續文章涉及到的案例程式碼也都會提交到這個倉庫【pb-project-example】
如果對小夥伴有所幫助,希望能給一個小星星⭐支援一下小凡。
一、小目標
本篇文章的小目標主要是利用圖片框(Picture)控制元件及其函式來對圖片進行開啟、讀取等操作。
圖片支援的格式有bmp
、jpg
、gif
、rle
、wmf
本例項中我們實用到了控制元件的如下屬性,一些沒用到的,我們會在例項後面具體說明,感興趣的小夥伴可以在例項結束後檢視
屬性 | 資料型別 | 描述 |
---|---|---|
PictureName |
String |
指定圖片框顯示的圖片的檔名,要求副檔名為bmp 、jpg 、gif 、rle 、wmf |
Height |
Integer |
指定控制元件的高度 |
Width |
Integer |
指定控制元件的寬度 |
二、建立程式基本框架
① 建立工作區
② 建立應用
③ 建立視窗
④ 建立控制元件
在視窗中建立一個SingleLineEdit
控制元件,一個CommandButton
控制元件和一個Picture
控制元件(下圖所示位置),各個控制元件名稱依次為
sle_1
、cb_1
和p_1
⑤ 儲存視窗
將建立的視窗儲存為w_main
三、設定各個控制元件的外觀屬性
控制元件名稱 | 主要屬性 | 值 |
---|---|---|
w_main |
Title |
圖片瀏覽器 |
sle_1 |
Text |
(空) |
cb_1 |
Text |
Default |
p_1 |
Border |
OriginalSize |
四、編寫程式碼
① 在按鈕cb_1
控制元件的clecked
事件中新增如下程式碼
if sle_1.text <> '' or isnull(sle_1.text) then
if fileExists(sle_1.text) then
p_1.picturename = sle_1.text
p_1.height = 1500
p_1.width = 2000
else
messagebox('提示資訊','圖片檔案不存在',Exclamation!)
end if
else
messagebox('提示資訊','請輸入影像檔名',Exclamation!)
end if
程式碼中用到fileExists
函式,我們在之前的檔案瀏覽器文章中說到過,作用時判斷檔案是否存在
② 在開發介面左邊的System Tree
視窗中雙擊exampleapp
應用物件,並在Open
中新增如下程式碼
open(w_main)
五、執行程式
執行程式,在sle_1
控制元件內輸入要瀏覽圖片的完整名稱,點選開啟就可以看到
六、Picture 控制元件常用屬性
屬性 | 資料型別 | 描述 |
---|---|---|
Border |
Boolean |
指定控制元件是否有邊框 True-有邊框;False-無邊框 |
BorderStyle |
Border |
指定控制元件的邊框風格,有效值有:StyleBox! 、StyleLowered! 、StyleRaised! 、StyleShadowBox |
FocusRectangle |
Boolean |
指定當控制元件得到焦點時,是否在控制元件周圍顯示一個由虛線組成的方框。True -顯示 False-不顯示 |
Invert |
Boolean |
指定控制元件是否以反轉顏色顯示圖片。True - 反轉顏色;False -不反轉顏色 |
OriginalSize |
Boolean |
指定是否以圖片的原始大小顯示圖片。True -以原始圖片大小顯示,此時修改圖片框控制元件的Width和Height屬性;False- 以圖片框控制元件大小顯示圖片。注:程式碼中不能修改該屬性 |
PictueName |
String |
指定圖片框顯示的圖片的檔名,要求副檔名為bmp 、jpg 、gif 、rle 、wmf |
Height |
Integer |
指定該控制元件的高度 |
Width |
Integer |
指定該控制元件的寬度 |
本期內容到這兒就結束了,希望對您有所幫助。
我們下期再見 ヾ(•ω•`)o (●'◡'●)