【PB案例学习笔记】-20制作一个超链接按钮

news2024/10/6 16:21:31

写在前面

这是PB案例学习笔记系列文章的第19篇,该系列文章适合具有一定PB基础的读者。

通过一个个由浅入深的编程实战案例学习,提高编程技巧,以保证小伙伴们能应付公司的各种开发需求。

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

gitee代码仓库

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

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

一、小目标

在pb中提供了Inet对象,这个对象的作用是能在默认浏览器中显示网页、访问指定的HTML页面。本案例中我们需要学会怎么使用这个对象。然后制作出点击按钮跳转到指定网页的功能。功能完成后,效果如下

超链接按钮

二、HyperlinkToURL 函数简介

本案例中我们要通过HyperlinkToURL ()函数,打开浏览器并显示指定网页。所以,我们就得来学一学这个函数怎么使用

① 函数定义

servicereference.HyperlinkToURL(url)
  • servicereference: Inet对象实例或引用
  • url: 需要在默认浏览器中打开的URL地址

② 使用案例

//定义一个Inet 是一个接口对象
Inet  iinet_base
//获取Internet服务对象
THIS.GetContextService("Internet", iinet_base)
//默认浏览器中打开www.xiezhrspace.cn 网站
iinet_base.HyperlinkToURL("https://www.xiezhrspace.cn")

三、创建程序基本框架

① 新建examplework工作区

② 新建exampleapp 应用

③ 新建w_main窗口,并将Title属性设置成“超链接按钮”

由于文章篇幅原因,以上步骤不再赘述。如果忘记的小伙伴可以翻一翻该系列文章的第一篇

④ 在窗口上添加超链接按钮

w_main窗口中添加4个CommandButton控件。依次为cb_1cb_2cb_3cb_4

Text值分别设置为①个人博客 ② csdn个人首页 ③ 哔哩哔哩个人首页④ 百度

按钮布局

四、编写代码

① 在cb_1按钮的Clicked事件中添加如下代码

Inet  iinet_base
THIS.GetContextService("Internet", iinet_base)
iinet_base.HyperlinkToURL("https://www.xiezhrspace.cn")

② 在cb_2按钮的Clicked事件中添加如下代码

Inet  iinet_base
THIS.GetContextService("Internet", iinet_base)
iinet_base.HyperlinkToURL("https://blog.csdn.net/rong09_13")

③ 在cb_3按钮的Clicked事件中添加如下代码

Inet  iinet_base
THIS.GetContextService("Internet", iinet_base)
iinet_base.HyperlinkToURL("https://space.bilibili.com/305330347")

④ 在cb_4按钮的Clicked事件中添加如下代码

Inet  iinet_base
THIS.GetContextService("Internet", iinet_base)
iinet_base.HyperlinkToURL("https://www.baidu.com")

⑤ 在开发界面左边的System Tree窗口中双击exampleapp应用对象,并在其Open事件中添加如下代码

open(w_main)

五、运行程序

代码写完了,接下来就该来运行程序看看有没有达到预期效果

超链接按钮

本期内容到这儿就要结束了,★,°:.☆( ̄▽ ̄)/$:.°★ 。 希望对您有所帮助

我们下期再见 ヾ(•ω•`)o (●’◡’●)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1817428.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Day 18:881. 救生艇

Leetcode 881. 救生艇 给定数组 people 。people[i]表示第 i 个人的体重 ,船的数量不限,每艘船可以承载的最大重量为 limit。 每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。 返回 承载所有人所需的最小船数 。 这里有一个条…

高能氧化锌电阻片加速老化试验曲线和老化机理%生产测试过程

氧化锌压敏电阻片加速老化的试验方法和得到的试验结果不尽相同。在老化机理的研究中一般可以用加速老化试验时功率损耗随时间的变化来衡量老化性能。分析我们的以及大量国外研究者的试验结果,可以将阀片功率损耗随时间变化的特性大致分为三种不司的类型: 类型1:阀片本身的性能…

解决uview2中u--input输入框禁用状态下click事件不生效

需求:想要点击输入框,展示下拉内容 之前使用uview1是可以直接在input上添加click事件(禁用和只读情况下都不影响) 但是在uview2上直接写click不生效 解决方式:直接在写click.native"xxx" 代码部分&#x…

AI驱动的“黑匣子”可能使手术更安全

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

LeetCode | 26.删除有序数组中的重复项

在我接触到这道题的时候想的就是一次遍历,设置两个变量记录当前遍历到的数字和对应原数组应该修改的index,在运行过程中,因为原数组已经是有序的了,只不过会存在重复的数字,但是这些重复的数字也是挨在一起的&#xff…

AI学习指南机器学习篇-核技巧与非线性支持向量机

AI学习指南机器学习篇-核技巧与非线性支持向量机 在机器学习领域,核技巧(Kernel Trick)是一个非常重要的概念,它将线性支持向量机(SVM)扩展到非线性支持向量机,从而可以处理非线性的分类和回归…

运行mvn命令打包项目jar包报错?“Fatal error compiling: 无效的目标发行版: 19 ”, 让我来看看~

最近写实验,要打包项目,但是不管是在cmd运行“mvn clean package -Dmaven.test.skiptrue”命令,还是在idea上去操作,都出现了这样的一个错误: [EROR] Failed to exeoute goal org.apache.maven.plugins:maven-comnpile…

Linux 基本指令2

cp 指令 cp[选项]源文件 目标文件 将源文件的内容复制到目标文件中,源文件可以有多个,最后一个文件为目标文件,目标文件也可以是一段路径,若目的地不是一个目录的话会拷贝失败。若没有路径上的目录则会新建一个,若源是…

js实现一个数据结构——栈

栈的概念就不再赘述,无可厚非的先进后出,而JS又是高级语言,数组中的方法十分丰富,已经自带了push pop方法进行入栈出栈的操作。 1.基本实现 class Stack {constructor() {this.items [];}// 入栈push(item) {this.items.push(i…

HCIA1 华为VRP系统基本操作

1.实验组网介绍 使用PC电脑通过串口线,直连1台全新的路由器console port,进行简单配置。 2.配置思路 2.1配置设备名称 2.2配置路由器接口地址 2.3保存配置并重启设备 3.配置步骤 3.1 Console方式登录 略 3.2查看设备版本信息 3.3设备基本配置 &am…

抖音a_bogus爬虫逆向补环境

抖音a_bogus爬虫逆向补环境 写在前面 https://github.com/ShilongLee/Crawler 这是我为了学习爬虫而搭建的爬虫服务器项目,目标是作为一个高性能的可靠爬虫服务器为广大爬虫爱好者和安全工程师提供平台进行学习爬虫,了解爬虫,应对爬虫。现已…

C语言 | Leetcode C语言题解之第148题排序链表

题目: 题解: struct ListNode* merge(struct ListNode* head1, struct ListNode* head2) {struct ListNode* dummyHead malloc(sizeof(struct ListNode));dummyHead->val 0;struct ListNode *temp dummyHead, *temp1 head1, *temp2 head2;while…

【吊打面试官系列-Mysql面试题】锁的优化策略有哪些?

大家好,我是锋哥。今天分享关于 【锁的优化策略有哪些?】面试题,希望对大家有帮助; 锁的优化策略有哪些? 1、读写分离 2、分段加锁 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 3、减少锁持有的时间 4.多个线程尽量以相同的…

ESP32S3中使用按键控制LED灯亮灭

// 定义 LED 与 按键引脚 int led_pin 4; int button_pin 5;// 定义 LED 逻辑值 int led_logic 0; // 判断 LED 的状态是否改变过 bool status false;void setup() { pinMode(led_pin, OUTPUT);pinMode(button_pin, INPUT_PULLDOWN); }void loop() {// 按键消抖if (digita…

农资投入品系统架构:数字化农业的技术支撑与创新

在当今数字化时代,农业领域也在迅速迈向数字化和智能化的新阶段。农资投入品系统作为农业生产的重要支撑,其系统架构的设计与创新对于提高农业生产效率、保障粮食安全具有重要意义。本文将探讨农资投入品系统架构的设计原则、核心模块以及未来发展趋势。…

4. Revit API UI 之 Ribbon(界面)

4. Revit API UI 之 Ribbon(界面) 第二篇中,我们提到了IExternalApplication,该接口需要实现两个方法:Revit启动时调用的OnStartup 方法,和Revit关闭时调研的OnShutdown 方法。文中还给了个例子&#xff0…

详解Next Auth:自定义邮箱密码登录注册、Github、Notion授权 Convex集成

最近用NextJS框架做全栈项目做的很顺手,现在想给项目加上登录、注册、鉴权拦截、分角色路由控制等功能,并接入Github、Notion等第三方登录。 可以使用NextJS官方提供的Auth框架实现。 Intro 阅读本篇,你将学会: 1、登录、注册等…

论文阅读ReLU-KAN和Wav-KAN

这是我读KAN系列论文的第三篇,今天把两篇论文放在一起写,分别是: ReLU-KAN: https://arxiv.org/abs/2406.02075 Wav-KAN: https://arxiv.org/abs/2405.12832 之所以放在一起,是因为这两篇论文针对KAN的…

使用Spring Boot 3实现邮箱登录/注册接口开发

Hi~!这里是奋斗的小羊,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~ 💥💥个人主页:奋斗的小羊 💥💥所属专栏:C语言 🚀本系列文章为个人学习…

MySQL-连接查询

049-内连接之等值连接 案例:查询每个员工所在的部门名称,要求显示员工名、部门名。 select e.ename, d.dname from emp e inner join dept d on e.deptnod.deptno;注意:inner可以省略 select e.ename, d.dname from emp e join dept d on…