首页 > 其他分享 >【PB案例学习笔记】-01创建应用、窗口与控件

【PB案例学习笔记】-01创建应用、窗口与控件

时间:2024-05-15 22:42:32浏览次数:28  
标签:控件 01 单击 触发 cb PB 按钮 属性

写在前面

这是PB案例学习笔记系列文章的第一篇,也是最基础的一篇。后续文章中【创建程序基本框架】部分操作都跟这篇文章一样,

将不再重复。该系列文章是针对具有一定PB基础的读者,通过一个个由浅入深的编程实战案例学习,提高编程技巧,以保证

小伙伴们能应付公司的各种开发需求。

文章中设计到的源码,小凡都上传到了gitee代码仓库https://gitee.com/xiezhr/pb-project-example.git

gitee代码仓库

需要源代码的小伙伴们可以自行下载查看,后续文章涉及到的案例代码也都会提交到这个仓库【pb-project-example

如果对小伙伴有所帮助,希望能给一个小星星⭐支持一下小凡。

一、小目标

掌握pb应用程序的创建、运行、中止等最基本操作。学会使用Static Text控件、CommandButton控件和MessageBox函数

上面说的控件和函数都是实际开发中最常用的

二、控件及函数简介

2.1 Static Text 控件

  • 用于显示静态文本内容(通常用于显示标题、标签、说明文字等静态信息)
  • 用户无法对其进行编辑或交互操作
  • 在界面设计中起到了信息展示和界面美化的作用

① 常用属性

属性 描述
Name 控件唯一标识,用于获取控件
Text 控件显示的文本内容。可以通过该属性设置控件上显示的文字
Tag 可以将控件的Tag属性设置为一个唯一的标识符,以便在程序中识别和操作特定的控件
Visible 控制按钮是否可见,勾选可见,值为true ,不勾选不可见,值为false
Enabled 控制按钮是否可用,勾选可见,值为true ,不勾选不可见,值为false
Border 是否有边框
BorderStyle 边框样式
Alignment 文本对齐方式
BorderColor 边框颜色
FillPattern 填充样式
FaceName 字体样式设置
TextSize 字体大小设置
Bold 是否加粗
Italic 是否斜体
Underline 是否下划线
TextColor 文本颜色设置
BackColor 控件背景色设置
X和Y 控件x,y坐标
Width 控件宽度
Height 控件高度

2.2 CommandButton控件

  • 用于触发特定操作或事件的按钮
  • 用于添加交互性,提供用户操作界面的按钮

① 常用属性

按钮有 24 个属性

属性 描述
name 例如:cb_1 按钮唯一标识
Text 按钮上显示的文本内容。可以通过该属性设置按钮上显示的文字
Tag 可以将控件的Tag属性设置为一个唯一的标识符,以便在程序中识别和操作特定的控件
Visible 控制按钮是否可见,勾选可见,值为true ,不勾选不可见,值为false
Enabled 控制按钮是否可用,勾选可见,值为true ,不勾选不可见,值为false
Default 表示按钮是默认按钮,当用户没有选择控件,按Enter键时,触发该按钮得Cliced事件
Cancel Cancel 取值为 True 时,表示当用户单击 Esc 键时,可以触发按钮的 Clicked 事件
FaceName 设置按钮上显示文本字体
TextSize 设置按钮上显示文本字体大小
Bold 设置按钮上显示文本是否加粗
Italic 设置按钮上显示文本是否斜体
Underline 设置按钮上显示文本是否下划线
X 按钮横坐标
Y 按钮纵坐标
Width 按钮宽度
Height 按钮高度

② 事件和脚本

事件 触发时机
Clicked 控件单击时
Constructor 在窗口的打开事件之立即触发
Destructor 在窗口的打开事件之立即触发
DragDrop 当被拖放对象释放时触发
DragEnter 被拖放对象的中心通过边缘进入时触发
DragLeave 被拖放对象的中心离开时触发
DragWithin 被拖放对象的中心位于其内时触发
GetFocus 在接受焦点之前(在选中并激活之前)触发
LoseFocus 当失去焦点时触发
Other 当非 PowerBuilder 事件消息发生时触发
RButtonDown 鼠标右键按下时触发

2.3 MessageBox

函数可以打开一个小信息窗口 ,不仅可以以多种方式给用户显示提示信息,还可以将用户的选择信息返回

①语法

小信息窗口有标题、提示信息、图标、按钮等 4 个元素

MessageBox ( title, text {, icon {, button {, default } } } )
  • title : 必选参数,提示框标题
  • text: 必选参数,提示框内容
  • icon: 可选参数,提示框图标
  • button: 提示框按钮

② icon 参数的可用值和对应的图标样式

icon值

③button 的可用取值和返回值的意义

参数取值 显示样式 返回值意义
OK! 显示 【确定】 按钮,该取值为默认值 总返回 1
OKCancel! 显示 【确定】和 【取消】按钮 1-【确定】, 2-【取消】
YesNo! 显示 【是】 和 【否】 按钮 1-【是】, 2-【否】
YesNoCancel! 显示 【是】、 【否】 和 【取消】 三个按钮 1-【是】, 2-【否】, 3-【取消】
RetryCancel! 显示 【重试】和 【取消】按钮 1-【重试】, 2-【取消】
AbortRetryIgnore! 显示 【放弃】、 【重试】和 【忽略】三个按钮 1-【放弃】, 2-【重试】, 3-【忽略】

三、创建程序基本框架

① 建立工作区

单击工具栏上的File→New命令,在弹出的New对话框中选择Workspace选项框中的Workspace图标,如下图所示,单击OK按钮,

在弹出的New Workspace对话框中输入“examplework”,点击保存按钮,建立一个新的工作区

examplework

②建立应用

单击菜单栏上的File→New命令,在弹出的对话框中选择Target选项卡,在选项卡中选择Application图标,并单击OK按钮,

在弹出的Specitfy New Application and Library 对话框的Application Name 文本框中输入“ExampleApp”,单击Finish按钮,

建立一个新的应用

Application

appname

③ 建立窗口

单击菜单栏上的File→New命令,在弹出的对话框中选择PBObject选项卡,在选项卡中选择Window图标,并单击OK按钮,

建立一个新的窗口

创建新窗口

④ 建立控件

单击菜单栏上的Insert→Control命令,选择StaticText控件,单击加到窗口中,同样的方法,建立2个CommandButton

控件,并调整位置

各个控件名称依次为st_1,cb_1,cb_2

程序基本框架

⑤保存窗口

单击工具栏中的File→Save 命令或者快捷键【Ctrl+S】,将建立的窗口保存为w_main

保存窗口

四、设置各个控件的外观属性

①StaticText 控件外观属性设置

  • 在w_main 窗口中st_1控件上单击

  • General选项卡,将st_1的Text属性改为:“学生管理系统”

  • Font 选项卡,在FaceName中选择宋体,TextSize复选框中选择18,勾选Bold复选框 设置字体

image-20240417170423868

CommandButton控件属性设置

  • 在w_main 窗口中cb_1控件上单击
  • General选项卡,将cb_1的Text属性改为“学生档案管理”
  • 同上,将cb_2的Text属性改为“学生选课管理”

按钮属性设置

五、编写按钮点击事件代码

①双击cb_1 控件,进入cb_1 按钮的Clicked 事件,添加如下代码

messagebox('欢迎使用',"学生档案管理")

②双击cb_1 控件,进入cb_2 按钮的Clicked` 事件,添加如下代码

messagebox('欢迎使用',"学生选课管理")

③双击应用对象,在exampleapp的open中添加如下代码

open(w_main)

image-20240417173538579

六、运行程序

单击菜单栏上运行按钮或者按快捷键【Ctrl+R】运行程序

运行程序

运行程序

点击按钮后

本期内容到此就结束了,希望对您有所帮助。我们下期再见,ヾ(•ω•`)o (●'◡'●)

标签:控件,01,单击,触发,cb,PB,按钮,属性
From: https://www.cnblogs.com/xiezhr/p/18194854

相关文章

  • P1077 [NOIP2012 普及组] 摆花
    P1077[NOIP2012普及组]摆花题目描述小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共m盆。通过调查顾客的喜好,小明列出了顾客最喜欢的n种花,从1到n标号。为了在门口展出更多种花,规定第i种花不能超过a[i]盆,摆花时同一种花放在一起,且不同种类的花需按标号的......
  • Selenium4自动化测试8--控件获取数据--上传、下载、https和切换分页
    系列导航一、Selenium4自动化测试1--Chrome浏览器和chromedriver二、Selenium4自动化测试2--元素定位By.ID,By.CLASS_NAME,By.TAG_NAME三、Selenium4自动化测试3--元素定位By.NAME,By.LINK_TEXT和通过链接部分文本定位,By.PARTIAL_LINK_TEXT,css_selector定位,By.CSS_SELECTOR四、j......
  • Selenium4自动化测试7--控件获取数据--radio单选框、select下拉框选择、iframe
    7-radio单选框 importtimefromseleniumimportwebdriverfromselenium.webdriver.common.byimportBy#定义一个driver的变量,用来接收实例化后的浏览器#指定浏览器的位置,解决浏览器驱动和浏览器版本不匹配的问题chrome_location=r'D:\pythonProject2023\Seleni......
  • flutter控件之Text属性的意思
    constText(Stringthis.data,{super.key,this.style,this.strutStyle,this.textAlign,this.textDirection,this.locale,this.softWrap,this.overflow,@Deprecated('UsetextScalerinstead.''UseoftextScaleFactorwasdeprecatedinprepar......
  • 安捷伦34401A原理图研究 24年-5-15
    1.原理图分为9页,如下第6页的主控使用80C192,是INTEL早期出的16位单片机,外接的256KEPROM,32KSRAM。第7页有个单片机87C51,是51单片机,主要是用来GPIB和RS232通信用第9页也有个单片机87C51,是51单片机,所以据我所知一共3个单片机。 2.ASIC定制芯片不熟悉,看不懂什么意思,......
  • index.js from Terser Error: error:0308010C:digital envelope routines::unsupporte
    Vue报错error:0308010C:digitalenveloperoutines::unsupported出现这个错误是因为node.jsV17版本中最近发布的OpenSSL3.0,而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响.方法1.打开终端(按健win+R弹出窗口,键盘输入cmd,然后敲回车)并......
  • sql server 2016 查询表结构
    select [表名] =CASEWHENc.column_id=1thenSCHEMA_NAME(t.schema_id)+'.'+t.nameELSE''END, [表创建时间]=CASEWHENc.column_id=1thenCONVERT(varchar,t.create_date,111)ELSE''END, [表修改时间]=CASEWHENc.column_id......
  • C# Windows窗体应用 添加控件后工具箱不显示是什么原因
    刚刚接触台湾企业,繁体字看得懵逼,一不小心就闹个乌龙Windows窗体应用,与Windows窗体应用(.NETFramework)未区分开来导致加入的自定义控件加入不了工具箱。1、现象描述:选择工具箱的windows窗体,鼠标右击,在弹出菜单中选【选择项】,弹出自定义工具箱的对话框,在com组件中可找到Hslcon......
  • 界面控件Telerik UI for WPF中文教程 - 如何轻松实现日期范围选择?
    TelerikUIforWPF拥有超过100个控件来创建美观、高性能的桌面应用程序,同时还能快速构建企业级办公WPF应用程序。UIforWPF支持MVVM、触摸等,创建的应用程序可靠且结构良好,非常容易维护,其直观的API将无缝地集成VisualStudio工具箱中。TelerikUIforWPF中的RadDateRangePicker......
  • win32下vs2013汇编传参和局部变量栈的分配
    1、传参无论是用寄存器还是栈,最终都要压入栈中。2、第一个参数的位置是ebp+8,少于4byte的数据类型按照4Byte压栈,第n个参数的地址是[ebp+4+4n],ebp+4是返回地址。8byte的数据类型,会先开辟8字节的栈空间esp-8,再把数据放入栈中。下一个参数的地址相应的要加8。3、局部变量用函数自己......