【PB案例学习笔记】-08 控件拖动实现

大家好,我是晓凡

写在前面

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

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

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

gitee代码仓库

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

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

一、小目标

本篇文章,我们通过Send函数,实现各种控件的拖动,即按住鼠标不放,将控件在窗口内任意移动。

最终实现效果如下

控件拖动

二、Send函数简介

Send 函数用于向窗口发送消息,并立即被执行。这种方式无论是窗口中的控件还是窗口本事都适用

① 语法

Send(handle,messageno,word,long)

② 参数说明

参数类型说明
handleLong指定窗口的系统句柄,将向该窗口发送消息
messagenoUnsignedInteger指定要发送消息号
wordLong指定与消息一起发送的Word类参数值。如果messageno参数指定的消息不适用该参数,那么将这个参数的值设置为0
longLongString指定与消息一起发送的Long型参数值活字符串

三、创建程序基本框架

① 创建examplework 工作区

② 创建exampleapp应用

③ 新建w_main 窗口,Title 设置为“拖动控件”

如果以上步骤忘记的小伙伴,克参照第一篇文章

④ 添加控件,进行窗口布局

在窗口中新建一个SingleLineEdit控件、一个ComandButton 控件、一个CheckBox控件和一个RadioButton控件,

各个控件名称依次为sle_1cb_1cbx_1rb_1,调整控件,并设置控件属性如下图所示

控件布局

⑤ 保存窗口

四、编写代码

① 在窗口中选择sle_1控件,为控件添加【pbm_lbuttondown】 事件,事件起名为ue_mousemove 并添加如下代码

添加事件

添加代码

send(handle(this),274,61458,0)

② 按照上面的方法,为控件cb_1cbx_1rb_1添加事件,添加如下代码

send(handle(this),274,61458,0)

③ 在窗口w_mainMouseDown事件中添加如下代码

send(handle(this),274,61458,0)

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

open(w_main)

五、运行程序

运行程序后,我们鼠标选择窗口上的任意一个控件,按住不放即可拖动控件

控件拖动

本期内容到这儿就结束了,希望对您有所帮助。

我峨嵋你下期再见 ヾ(•ω•`)o (●’◡’●)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员晓凡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值