【PB】利用 IE5 增强编辑控件的功能

【数字逻辑电路课程设计】多功能数码管时钟VHDL+quartus II-EP1C12F324C8+源码+付费资源 我希望需要我这篇文章的是正常学习数字逻辑课程且正在设计数码管时钟的同学。我个人不推荐直接获取源代码,因此我另有一份付费资源是完整源代码;我推荐各位去研究我代码的逻辑尝试自己书写属于自己的代码,因此我保留了注释但隐去了变量。由于时间有限,我的设计不够完美,仍有很多缺陷,我将我的展望写在后面,各位可以尝试实现。我不为难同学,作为同学我理解各位设计的辛苦,因此如果有需要,私信我提供隐去敏感信息的学生证照片可直接获取源代码。 阅读详情

熟悉 Windows 的读者都知道,“运行”对话框的“打开”编辑控件,提供了两个比较特别的功能:一个是自动完成功能,即键入字符后编辑控件提供建议选项供选用 (AutoSuggest),如图1;另一个是拖放功能,即将文件拖放到“运行”对话框后编辑控件会显示文件列表,如图2。通过在 PowerBuilder 中调用 Win32 API 函数可以使单行编辑控件 (Single-line Edit Control) 和多行编辑控件 (Multi-line Edit Control) 实现上述功能。本文将就如何实现上述功能展开讨论。

图1图1

图2图2

自动完成功能
 Win32 API 函数 SHAutoComplete 是实现该功能的关键,它的 Powersoft 原型是:

Function ULong SHAutoComplete(ULong hwndEdit,ULong dwFlags) Library "Shlwapi.dll"

参数 hwndEdit 是编辑控件的句柄,可以用 Handle 函数获得。

参数 dwFlags 是控件 SHAutoComplete 操作的标志,具体如下:

SHACF_AUTOAPPEND_FORCE_OFF2147483648忽略注册表的缺省值并强行关闭自动添加功能。
SHACF_AUTOAPPEND_FORCE_ON1073741824忽略注册表的缺省值并强行打开自动添加功能。
SHACF_AUTOSUGGEST_FORCE_OFF536870912忽略注册表的缺省值并强行关闭自动建议功能。
SHACF_AUTOSUGGEST_FORCE_ON268435456忽略注册表的缺省值并强行打开自动建议功能。
SHACF_DEFAULT0缺省值,等价于SHACF_FILESYSTEM | SHACF_URLALL。
SHACF_FILESYSTEM1包括文件系统和虚拟文件夹。
SHACF_URLALL6包括用户历史和最近使用列表中的URL。
SHACF_URLHISTORY2包括用户历史列表中的URL。
SHACF_URLMRU4包括最近使用列表中的URL。
SHACF_USETAB8允许用户按Tab键选择建议选项列表。

该函数需要 Internet Explorer 5 提供的动态链接库 Shlwapi.dll (ver 5.00)。

该功能的实现脚本如下:

sle_autocom.Event Constructor( ) returns long
// dwFlags: SHACF_USETAB | SHACF_FILESYSTEM | SHACF_URLALL = 15
SHAutoComplete(Handle(this), 15)

 拖放功能

实现拖放功能要用到 Win32 API 函数 DragAcceptFiles、DragFinish、DragQueryFileA 和 PathIsLFNFileSpecA,他们的 Powersoft 原型为:

Subroutine DragAcceptFiles(ULong hWnd,Boolean fAccept) Library "Shell32.dll"

函数 DragAcceptFiles 用于注册窗口是否接受放下的文件。

Subroutine DragFinish(ULong hDrop) Library "Shell32.dll"

函数 DragFinish 用于释放为接受文件分配的内存。参数 hDrop 是用于描述被放下文件的结构的标识号。

Function ULong DragQueryFileA(ULong hDrop,ULong iFile,ref String lpszFile,ULong cch) Library "Shell32.dll"

函数 DragQueryFileA 用于获取被放下的文件名。参数 iFile 是文件名的索引值;参数 cch 是 lpszFile 长度。

Function Boolean PathIsLFNFileSpecA(String pszName) Library "Shlwapi.dll"

函数 PathIsLFNFileSpecA 用于判断文件名是否是长文件名。该函数需要 Internet Explorer 5 提供的动态链接库 Shlwapi.dll (ver 5.00)。

该功能的实现脚本如下:

w_main.Event Open( ) returns long
DragAcceptFiles(Handle(
this), true)
w_main.Event Close( ) returns long
DragAcceptFiles(Handle(
this), false)

 声明自定义事件 DropFiles:

w_main.Event DropFiles(long handle) returns long [pbm_dropfiles]
UInt  lui_index 
// 文件索引值 (基于0)
UInt  lui_filenum // 文件数
String  ls_filename // 文件名
 
lui_filenum 
= DragQueryFileA(handle, -1, ls_filename, 256) // 获取文件数

for lui_index = 0 to lui_filenum - 1
    DragQueryFileA(handle, lui_index, ls_filename, 
256) // 获取文件名    
    if sle_autocom.text <> "" then sle_autocom.text += " " // 在文件名间放置空格
    if PathIsLFNFileSpecA(ls_fileName) then        
        ls_fileName 
= '"' + ls_fileName + '"' // 长文件名加双引号
    end if
    sle_autocom.text 
+= ls_fileName
next
 
DragFinish(handle) 
//释放内存
uniapp实战:mui-player插件如何完美适配m3u8/flv直播流(附完整代码) 本文详细介绍了如何在Uniapp中使用mui-player插件完美适配m3u8和flv直播流,提供从基础配置到高级优化的全流程解决方案。通过动态加载策略、响应式布局和内存管理,实现跨平台稳定播放,适用于企业级直播应用开发。 阅读详情

相关推荐

PromptBio实战:如何用AI对话搞定转录组数据分析(附详细操作截图)

本文详细介绍了如何利用PromptBio平台通过AI对话完成转录组数据分析,无需编程基础即可实现从数据上传到结果解读的全流程。文章包含详细的操作截图和参数配置建议,帮助科研人员快速掌握这一生信分析工具,显著提升研究效率。

weixin_30872157的博客 135

PowerBuilder 拖动文件显示路径

1、引用外部dll函数: FUNCTION int DragQueryFile(long hDrop, int iFile, REF string szFileName,int cb) LIBRARY "shell32.dll" alias for "DragQueryFileA" SUBROUTINE DragAcceptFiles(long l_hWnd,boolean fAccept) LI...

weixin_37914760的博客 592

SPAD 单光子雪崩二极管

SPAD,全称为,是一种高灵敏度的光电探测器件,能够在非常低的光照水平下检测单个光子。SPAD在工作时,当一个光子被探测器吸收后,能够触发一个雪崩效应,产生一个可以被检测到的电信号。

qq_42786033的博客 1万+

PB实现拖拽或粘贴文件

PB实现拖拽或粘贴文件

xiajinxian的专栏 3523

STM32标准库下载保姆级教程:2024最新官网免注册直接下载方法

本文提供2024年最新STM32标准库免注册下载方法,包括直接下载链接、GitHub镜像仓库和开发工具内置库三种途径。详细介绍了标准外设库的优势、配置步骤及常见问题解决方案,帮助开发者快速获取并应用这一重要开发资源。

weixin_29163581的博客 367

手把手教你用Chrome DevTools逆向分析抖音a_bogus参数(附完整日志插桩方法)

本文详细介绍了如何使用Chrome DevTools逆向分析抖音a_bogus参数的生成逻辑,包括XHR断点定位、日志插桩追踪和加密核心逻辑解析。通过实战案例,帮助开发者掌握逆向工程技巧,应对抖音接口的动态加密变化,特别适合研究dy接口和a_bogus参数的技术人员。

weixin_27741699的博客 787

一个开源、功能强大的富文本编辑器

如果你是本网站的伯克用户那么你对我讲要说的这个富文本编辑器一定不会陌生,当你编辑文章的时候用到的就是这个咚咚 ,呵呵。相对于以前版本FCKeditor 2.1.1不仅加上了FLASH插入功能,而且它的兼容性超强:支持多种浏览器包括IE 5.5+、Firefox 1.0+、Mozilla 1.3、Netscape 7+;无平台限制,在Windows、Mac、Linux下都能运行;可以和多种WEB

ysxnzp的专栏 4088

通用定时器脉冲计数实验(STM32CubeMx配置)

通用定时器脉冲计数实验

a1169511636的博客 5509

DragAcceptFiles 拖放文件到多文档框架上

以多文档为例: 1.在应用程序类App的InitInstance()函数后面,添加以下代码: 1 m_pMainWnd->DragAcceptFiles(TRUE);  2.响应主框架类CMainFrame的WM_DROPFILES消息,添加如下代码: 01 02 03 04 05 06 07

无幻 6136

植物GO注释

本文主要是对没有GO term库的植物进行注释。 1、选用AgriGo 进行注释,在agriGO中点击species后,查看与你目标物种相近的物种作为库 2、比如我以甜菜为例 为了找到和GO term对应的ID,先找到PLAZA,进入网站https://bioinformatics.psb.ugent.be/plaza/versions/plaza_v3_di...

weixin_30300225的博客 2225

YOLOv11魔改高效涨点 | 注意力篇 | SimAM注意力:基于神经科学的 3D 注意力机制,三维权重的暴力美学,无参数也能暴力涨点?代码极简,彻底疯狂!!!

在本文中,我们为卷积神经网络(ConvNets)提出了一个概念简单但非常有效的注意力模块。与现有的通道注意力(Channel-wise)和空间注意力(Spatial-wise)模块不同,我们的模块在不向原始网络添加参数的情况下,推断出层中特征图的 3D 注意力权重。具体来说,我们基于一些知名的神经科学理论,提出优化一个能量函数来寻找每个神经元的重要性。我们进一步推导出了该能量函数的快速闭式解,并表明该解可以用不到十行代码实现。

猫天意的博客 248

【PB】利用 IE 增强编辑控件的功能

熟悉 Windows 的读者都知道,“运行”对话框的“打开”编辑控件,提供了两个比较特别的功能:一个是自动完成功能,即键入字符后编辑控件提供建议选项供选用 (AutoSuggest),如图1;另一个是拖放功能,即将文件拖放到“运行”对话框后编辑控件会显示文件列表,如图2。通过在 PowerBuilder 中调用 Win32 API 函数可以使单行编辑控件 (Single-line Edit Con

mmnn606的专栏 502

SAP SEGW 事物码里的 Function Import

开放数据协议(OData)包括标准的 CRUD (创建、检索、更新和删除)操作,这些操作映射到 HTTP 方法的 POST、GET、PUT/MERGE 和 Delete 几类。此外,OData还支持进一步的服务操作:,这些操作可以由HTTP方法GET或POST调用,用于处理不能映射到标准 CRUD 操作的任何内容。通过在数据模型中创建 ,可以在 service Builder 中实现此类额外的服务操作。例如,您可以为以下自定义操作创建函数导入:Work Item confirmation检查航班的可用性虽然

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 995

反编译

  反编译(Decompilers) VFP程序 UnFoxAll 3.0专业增强版  优点:界面

leo7788的专栏 2248

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

工作中使用到的单词(软件开发)_第五版

本文摘要: 本文为软件开发相关的术语与技术要点整理,主要包含2020-2025年间四版内容更新(No.01-41)。重点包括: 证书文件格式(PEM/P12)差异 外部API通信注意事项(Accept头设置、HTTPS连接问题) Postman工具使用技巧(Cookie管理、请求头设置) WAS配置相关经验(JVM设置、SSL连接问题) 数据库操作命令(DB2表结构修改) IBM安全管理组件(TAM/iv-user机制) 网络通信细节(chunked传输编码特性) 常用开发工具(curl、Postman)的

sun0322 2520

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

接收文件拖入

声明   API     // 拖动文件     FUNCTION   int   DragQueryFile(long   hDrop,   int   iFile,   REF   string   szFileName,int   cb)   LIBRARY   "shell32.dll"     SUBROUTINE   DragAcceptFiles(long   l_hWnd,bool

*冷鹰* 824

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

pb中嵌入IE浏览器控件相关技术收集

打开某个网页: ole_1.object.Navigate("http://www.sound-net.com", '', '', '', '') 当然如果你要做更加复杂的工作,这些是不够的 --------------------------------------------------------------- 如果你对javascript,dhtml熟悉的话,对下边很容易理解: 通过pb中的browser 可以看到浏览器控件中有个对象ole_1.object.document.相当于网页中的do

那些年踩过的坑 1573

WINAPI

Api函数名                               函数说明                             WIN16可用  WIN95可用  WINNT可用---------------------------------------------------------------------------------------------------------

一叶舟轻 3194

【PB】PowerBuilder API Site

FUNCTION ulong AbortDoc(ulong hdc) LIBRARY "gdi32.dll" FUNCTION ulong AbortPath(ulong hdc) LIBRARY "gdi32.dll" FUNCTION ulong AbortPrinter(ulong hPrinter) LIBRARY "winspool.drv" FUNCTIO

7007
上一篇: 【PB】使用任务栏通知区域
下一篇: 【PB】带位图的菜单项实现
keyssoft
博客等级 码龄25年 8粉丝 35原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值