写在前面

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

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

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

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

需要源代码的小伙伴们可以自行下载查看,后续文章涉及到的案例代码也都会提交到这个仓库【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 参数的可用值和对应的图标样式

③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”,点击保存按钮,建立一个新的工作区

②建立应用

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

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

建立一个新的应用

③ 建立窗口

单击菜单栏上的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复选框 设置字体

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)

六、运行程序

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

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

【PB案例学习笔记】-01创建应用、窗口与控件的更多相关文章

  1. IOS学习笔记(四)之UITextField和UITextView控件学习

    IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...

  2. .NET MVC 学习笔记(七)— 控制input控件

    .NET MVC 学习笔记(七)— 控制input控件 画面中有时候需要输入数字,这时就需要控制input的输入.以下为保留两位有效数字. /* * 初始化数字输入 */ function initD ...

  3. Winform控件学习笔记【第二天】——常用控件

    背景:期末考试刚过就感冒了,嗓子火辣辣的,好难受.但是一想起要学习总结就打起精神来了,Winform控件网上也没有多少使用教程,大部分都是自己在网上零零散散的学的,大部分用的熟了,不总结会很容易忘得. ...

  4. Android学习笔记(九)——布局和控件的自定义

    //此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! View是 Android中一种最基本的 UI组件,它可以在屏幕上绘制一块矩形区域,并能响应这块区域的各种事件 ...

  5. Dynamic CRM 2013学习笔记(八)过滤查找控件 (类似省市联动)

    我们经常要实现类似省市联动一样的功能,常见的就是二个查找控件,一个选择了省后,另一个市的查找控件就自动过滤了,只显示当前省下的市,而不是所有的市.当然这是最简单的,实际工作中还有更复杂的功能要通过过滤 ...

  6. Windows程序设计学习笔记(四)自绘控件与贴图的实现

    Windows系统提供大量的控件供我们使用,但是系统提供的控件样式都是统一的,不管什么东西看久了自然会厌烦,为了使界面更加美观,添加一些新的东西我们需要自己绘制控件. 控件在默认情况下并不进行自绘,如 ...

  7. 【AngularJS学习笔记】封装一些简单的控件(封装成Html标签)

    bootstrap有强大的指令系统,可以自定义一些属性,基本知识请移步:http://angularjs.cn/A00r  http://www.cnblogs.com/lvdabao/p/33916 ...

  8. koa2学习笔记01 - 创建项目 —— koa生成器一键生成koa项目

    前言 从17年开始尝试学习搭建个人网站开始,就开始学习摸索node了,至今差不多快两年了. 说起来现在都9102年了,所以最近打算整体设计重构一下网站,索性node后台也重写一遍. 重温一下node, ...

  9. ios学习笔记第三天之UI控件

  10. 张高兴的 Xamarin.Android 学习笔记:(四)常用控件

    示例地址 GitHub : https://github.com/ZhangGaoxing/xamarin-android-demo/tree/master/ControlsDemo

随机推荐

  1. #KD-Tree#洛谷 4849 寻找宝藏

    题目传送门 题目大意 在一个四维坐标系中,给定 \(n\) 个点,问有多少种选择点的方案, 使得这些点排序后任意坐标单调不降,并且选择的点权和最大,同时输出最大值 分析 设 \(f[i]\) 表示最后 ...

  2. #dp#洛谷 2679 子串

    题目 有两个仅包含小写英文字母的字符串 \(A\) 和 \(B\). 现在要从字符串 \(A\) 中取出 \(k\) 个互不重叠的非空子串,然后把这 \(k\) 个子串按照其在字符串 \(A\) 中出 ...

  3. 【FAQ】用户访问次数不变,访问时长却突增2倍,分析服务发生数据异常该如何解决?

    在产品运营的工作过程中,需要每日关注产品的核心指标变化情况,监控其整体运营状况.华为分析服务提供查看吸引新用户卡片,该卡片展示了新增用户数.人均会话次数.人均访问时长.人均页面访问数.借助该页面运营可 ...

  4. Python拷贝、移动、重命名、删除文件和文件夹----shutil

    拷贝 # 拷贝文件import shutil # 语法: shutil.copy(src, dst) '''示例 将 a 文件夹中的 a.txt 拷贝到 b 文件夹 ''' shutil.copy(' ...

  5. 视频播放测试地址(MP4、M3U8 格式)

    最近在开发视频播放相关的业务功能,开发测试时,需要涉及到 MP4.M3U8 等视频格式. 我每次找测试视频地址时,都要找很久,现在把我在网上收集到的 MP4.M3U8 格式视频地址放在这里,希望帮助到 ...

  6. Weblogic、Tomcat、Apache、Nginx等web容器学习笔记

    1.weblogic weblogic是美国Oracle公司的一款产品,是一个基于JAVAEE架构的中间件.是用于开发.集成.部署 .管理大型分布式Web应用.网络应用.数据库应用的Java应用服务器 ...

  7. 重新点亮shell————变量[三]

    前言 简单介绍一下shell的变量. 正文 变量的定义 变量名的命名规则 字母.数字.下划线 不以数字开头 变量的赋值 在赋值的时候不能出现空格 a =123,在等号前面有一个空格,那么会报错. 这是 ...

  8. 实时数仓构建:Flink+OLAP查询的一些实践与思考

    今天是一篇架构分享内容. 1.概述 以Flink为主的计算引擎配合OLAP查询分析引擎组合进而构建实时数仓,其技术方案的选择是我们在技术选型过程中最常见的问题之一.也是很多公司和业务支持过程中会实实在 ...

  9. mmdeploy源码安装 (转换faster rcnn r50/yolox为tensorrt,并用mmdeploy sdk推理)

    mmdeploy源码安装 (转换faster rcnn r50/yolox为tensorrt,并进行推理) 这个系列是一个随笔,是我走过的一些路,有些地方可能不太完善.如果有那个地方没看懂,评论区问就 ...

  10. 试用阿里云GPU服务器进行深度学习模型训练

    试用阿里云GPU服务器进行深度学习模型训练 最近在用PyTorch时发现在本地训练模型速度一言难尽,然后发现阿里云可以白嫖gpu服务器,只要没有申请过PAI-DSW资源的新老用户都可以申请5000CU ...