硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2606|回复: 10
收起左侧

[emWin] ChooseFile对话框的一些比较难用的地方和奇葩问题

[复制链接]

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115765
QQ
发表于 2017-1-22 11:13:10 | 显示全部楼层 |阅读模式
下面的问题,在MDK中的emWin5.30,5.36和STemWin5.32都进行了测试,问题一样。
=================
1.  这个对话框最大的败笔就是创建后无法配置控件的位置和大小,手册上面说可以根据字体大小自动调整,但是按钮的高度没
     办法自适应,搞的非常不好用。
2.  这个对话框的第二个败笔,创建后,如果用的不是他默认支持的字体,他会有个动态调整的过程,特别是上面的listview控件,明显
     可以看到网格的调整过程,也就是说创建了CHOOSEFILE对话框后,内部会自动执行一次更新。
3.  这个对话框的第三个败笔,确切的说应该是个bug,CHOOSEFILE对话框创建函数有个参数是设置对话框标志的,发现设置为隐藏后
     没有任何效果,依然是显示状态。
4.  介于上面的问题,采用逐个获取对话框上子控件的方法来进行调整。但是第2条中的问题是无法避免的。另外就是按钮控件不能单
     独设置字体,单独设置字体没有效果,必须设置全局默认字体。



回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115765
QQ
 楼主| 发表于 2017-1-25 10:20:58 | 显示全部楼层
已更新
回复

使用道具 举报

354

主题

2164

回帖

3231

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3231
发表于 2018-8-30 17:02:05 | 显示全部楼层
这个choosefile标准对话框用起来好累。。。。有几个问题:
1. 怎么获得它上面的控件句柄? 或者ID? 比如需要调整一下大小和字体。
2. 重设了这个对话框的回调函数,可是调试过程中发现,基本的 WM_INIT_DIALOG消息都没有响应。 只有wm_paint消息。
hItem= CHOOSEFILE_Create(pMsg->hWin,20,20,600,300,apRoot,2,0,"Select File to be read",0,&DiskFileInfo);
    WM_SetCallback(hItem,User_CHOOSERFILE_Callback);
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115765
QQ
 楼主| 发表于 2018-8-31 00:38:24 | 显示全部楼层
caicaptain2 发表于 2018-8-30 17:02
这个choosefile标准对话框用起来好累。。。。有几个问题:
1. 怎么获得它上面的控件句柄? 或者ID? 比如 ...

这个例子的如下界面,我有用,你可以参考下
http://www.armbbs.cn/forum.ph ... 7330&extra=page%3D1


回复

使用道具 举报

354

主题

2164

回帖

3231

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3231
发表于 2018-8-31 10:46:18 | 显示全部楼层
eric2013 发表于 2018-8-31 00:38
这个例子的如下界面,我有用,你可以参考下
http://www.armbbs.cn/forum.ph ... 7330&extra=page%3D1 ...

非常棒!
回复

使用道具 举报

354

主题

2164

回帖

3231

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3231
发表于 2018-8-31 16:43:20 | 显示全部楼层
eric2013 发表于 2018-8-31 00:38
这个例子的如下界面,我有用,你可以参考下
http://www.armbbs.cn/forum.ph ... 7330&extra=page%3D1 ...

研究了一下这个choosefile对话框。 没有发现例程中关于“返回上级”的执行函数,或者选中文件后的执行函数?

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115765
QQ
 楼主| 发表于 2018-8-31 17:37:58 | 显示全部楼层
caicaptain2 发表于 2018-8-31 16:43
研究了一下这个choosefile对话框。 没有发现例程中关于“返回上级”的执行函数,或者选中文件后的执行函 ...

这个是此对话框上自带的。
回复

使用道具 举报

354

主题

2164

回帖

3231

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3231
发表于 2018-8-31 18:31:53 | 显示全部楼层
eric2013 发表于 2018-8-31 17:37
这个是此对话框上自带的。

这个有点奇怪啊,“返回上级”按钮,需要我们给对话框新的文件列表啊?
选中文件,点击ok后,打开文件的方式都是不一样的,应该由我们自己来写啊?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115765
QQ
 楼主| 发表于 2018-9-1 01:21:24 | 显示全部楼层
caicaptain2 发表于 2018-8-31 18:31
这个有点奇怪啊,“返回上级”按钮,需要我们给对话框新的文件列表啊?
选中文件,点击ok后,打开文件的 ...

是的,有几个接口函数需要我们实现下。
回复

使用道具 举报

354

主题

2164

回帖

3231

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3231
发表于 2018-9-3 08:52:59 | 显示全部楼层
eric2013 发表于 2018-9-1 01:21
是的,有几个接口函数需要我们实现下。

你这个例程中,只有一个接口函数 _GetData(CHOOSEFILE_INFO *pInfo),这个只是显示文件列表的。

“返回上级” “选中的文件”这类接口函数在哪里? 如何添加到回调函数中?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115765
QQ
 楼主| 发表于 2018-9-3 10:26:56 | 显示全部楼层
caicaptain2 发表于 2018-9-3 08:52
你这个例程中,只有一个接口函数 _GetData(CHOOSEFILE_INFO *pInfo),这个只是显示文件列表的。

“返 ...

这个函数就够了。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-17 06:56 , Processed in 0.250431 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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