【PB案例學習筆記】-05 圖片瀏覽器

xiezhr發表於2024-06-11

寫在前面

這是PB案例學習筆記系列文章的第5篇,該系列文章適合具有一定PB基礎的讀者。

透過一個個由淺入深的程式設計實戰案例學習,提高程式設計技巧,以保證小夥伴們能應付公司的各種開發需求。

文章中設計到的原始碼,小凡都上傳到了gitee程式碼倉庫https://gitee.com/xiezhr/pb-project-example.git

gitee程式碼倉庫

需要原始碼的小夥伴們可以自行下載檢視,後續文章涉及到的案例程式碼也都會提交到這個倉庫【pb-project-example

如果對小夥伴有所幫助,希望能給一個小星星⭐支援一下小凡。

一、小目標

本篇文章的小目標主要是利用圖片框(Picture)控制元件及其函式來對圖片進行開啟、讀取等操作。

圖片支援的格式有bmpjpggifrlewmf

展示圖片

本例項中我們實用到了控制元件的如下屬性,一些沒用到的,我們會在例項後面具體說明,感興趣的小夥伴可以在例項結束後檢視

屬性 資料型別 描述
PictureName String 指定圖片框顯示的圖片的檔名,要求副檔名為bmpjpggifrlewmf
Height Integer 指定控制元件的高度
Width Integer 指定控制元件的寬度

二、建立程式基本框架

① 建立工作區

② 建立應用

③ 建立視窗

④ 建立控制元件

在視窗中建立一個SingleLineEdit控制元件,一個CommandButton控制元件和一個Picture控制元件(下圖所示位置),各個控制元件名稱依次為

sle_1cb_1p_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 指定圖片框顯示的圖片的檔名,要求副檔名為bmpjpggifrlewmf
Height Integer 指定該控制元件的高度
Width Integer 指定該控制元件的寬度

本期內容到這兒就結束了,希望對您有所幫助。

我們下期再見 ヾ(•ω•`)o (●'◡'●)

相關文章