递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 150|回复: 3
打印 上一主题 下一主题

[视窗] 如何通过视窗制作一个通用对话框DLL给易语言调用

[复制链接]

26

主题

101

帖子

712

积分

高级会员

Rank: 4

积分
712
跳转到指定楼层
楼主
发表于 前天 22:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
众所周知 易语言的通用对话框小的可怜,精易模块的通用对话框在设置初始目录时是存在问题的,初次打开通用对话框时初始目录设置生效,一旦选择/保存了文件后续再打开通用对话框选择文件时会延用上次的目录,而不是代码中设定的初始目录
所以我想用火山做一个DLL给易语言调用仅仅满足通用对话框这个需求

由于是新手 目前遇到了下面几个问题:
1.通用对话框.打开() 需要填写窗口组件,这个“窗口组件”类型我需要怎么传递过来,易语言那边对应使用什么类型的变量?
2.函数返回值被提示不允许使用文本型,那么我要怎么传递文本?通过取变量地址么?
回复

使用道具 举报

29

主题

2549

帖子

9005

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
9005
沙发
发表于 昨天 08:59 | 只看该作者
火山这个不能封给易语言的,因为窗口组件不能传递。
火山的通用对话框跟易语言的一样,都是调用系统API,精易那个更改目录要解决也很简单,加上 OFN_NOCHANGEDIR(8) 标志就行了。
回复

使用道具 举报

26

主题

101

帖子

712

积分

高级会员

Rank: 4

积分
712
板凳
 楼主| 发表于 昨天 17:48 | 只看该作者
Xelloss0618 发表于 2025-10-9 08:59
火山这个不能封给易语言的,因为窗口组件不能传递。
火山的通用对话框跟易语言的一样,都是调用系统API,精 ...

通用对话框.zip (4.4 KB, 下载次数: 1)
请大佬帮忙解惑  我加入了OFN_NOCHANGEDIR标记后依然是沿用上次选择的目录
回复

使用道具 举报

29

主题

2549

帖子

9005

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
9005
地板
发表于 昨天 18:41 | 只看该作者
j519948746 发表于 2025-10-9 17:48
请大佬帮忙解惑  我加入了OFN_NOCHANGEDIR标记后依然是沿用上次选择的目录
...

好吧,我再仔细看了一下。
OFN_NOCHANGEDIR这个标志对GetOpenFileName无效。
这个API,如果传递的初始目录一样,会用最近打开过的路径。

再看了一下火山,它用的是MFC里的CFileDialog类,不是直接调用API,所以它的不改变目录能生效。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2025-10-10 00:11 , Processed in 0.098033 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表