首页 > 其他分享 >【PB案例学习笔记】-05 图片浏览器

【PB案例学习笔记】-05 图片浏览器

时间:2024-06-11 23:22:57浏览次数:32  
标签:控件 浏览器 05 代码 指定 PB sle 属性 图片

写在前面

这是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 (●'◡'●)

标签:控件,浏览器,05,代码,指定,PB,sle,属性,图片
From: https://www.cnblogs.com/xiezhr/p/18200444

相关文章

  • 代码随想录算法训练营第第35天 | 977.有序数组的平方1005.K次取反后最大化的数组和 、
    1005.K次取反后最大化的数组和本题简单一些,估计大家不用想着贪心,用自己直觉也会有思路。https://programmercarl.com/1005.K次取反后最大化的数组和.html自己写的时间复杂度太高,看答案优化/***@param{number[]}nums*@param{number}k*@return{number}*/varl......
  • [20240529]简单探究FREE LISTS列表.txt
    [20240529]简单探究FREELISTS列表.txt--//简单探究shraedpool的FREELISTS列表.1.环境:SYS@test>@ver1PORT_STRING         VERSION   BANNER                                                       ......
  • CH05_数组
    CH05_数组概述定义:一组相同类型的数据的集合。描述:1.数组中的每个元素都是相同的数据类型2.数组是由连续的内存位置组成的。3.数组索引是从0开始一维数组语法:1.数据类型数组名[长度];2.数据类型数组名[长度]={值1,值2,值3...};3.数据类型数组名[]={值1,值2,值3...};示......
  • 一千题,No.0050(插入与归并)
    根据维基百科的定义:插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列。每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确的位置。如此迭代直到全部元素有序。归并排序进行如下迭代操作:首先将原始序列看成N个只包含1个元素的有序子序列,然后每次迭......
  • 基于Vue+Node.js的高校学业预警系统+10551(免费领源码)可做计算机毕业设计JAVA、PHP、爬
    NodeJS高校学业预警系统摘 要随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,教育行业当然也不能排除在外。高校学业预警系统是以实际运用为开发背景,运用软件工程开发方法,采用Node.JS技术构建的一个管理系统。......
  • [1005] Convert a Shapely polygon to an Esri polygon using ArcPy
    ToconvertaShapelypolygontoanEsripolygonusingArcPy,youcanfollowthesesteps:CreateaShapelyPolygon:First,createyourdesiredShapelypolygonusingtheShapelylibraryinPython.ConverttoEsriPolygon:Usethearcpy.FromWKB()func......
  • 500BIO01 1MRB150005R1J嵌入式数字模块
    500BIO011MRB150005R1J嵌入式数字模块是指在嵌入式系统中用于处理和转换数字信号的硬件或软件组件。这些模块广泛应用于各种电子设备和系统中,包括单片机、ARM处理器、DSP等。嵌入式数字模。 这类模块通过RS232接口将数字信号调制成音频模拟信号进行传输。它在无线通信和数......
  • Android 11.0 mtk浏览器Browser下载应用不能安装问题的解决办法
    1.前言 在系统11.0的ROM定制化开发中,在开发mtk平台的时候,在系统默认浏览器Browser中发现在下载某些app的时候,结果显示的确实在下载到内部存储的时候,点击安装的时候安装失败,所以就需要从Browser的下载流程中出发分析相关源码来实现具体的功能2.mtk浏览器Browser下载应用不能......
  • 【JS封装-兼容IE(较旧版本如IE8及以下)】强化编程实践:精选JavaScript函数封装集锦-添加E
    目录添加Event监听获取非行间样式JSON.parse与JSON.stringifyquerySelector与querySelectorAll的兼容支持跨浏览器的classList操作兼容性处理console.log兼容性处理forEach方法Promise的兼容性处理FetchAPI的兼容性处理添加Event监听IE8及以下版本不支持addEvent......
  • 郑州大学计算机网络实验05 TCP可靠传输和重传分析
    实验五:TCP可靠传输和重传分析【实验目的】1、掌握TCP可靠传输原理;2、掌握TCP的超时重传和快重传机制;3、了解Linux下iptables命令的使用方法。【实验步骤与结果记录】要求:根据实验指导书中的实验内容和步骤,认真完成实验。采取截图、拍照等形式记录自己的实验步骤和结果。(......