`中微子 发表于 2023-9-12 11:48:44

花了一星期写出个DCL,与系统的对话框有很大差距,追求完美的我又来寻求帮助了!

找了很多资料实在没法解决了!只有发贴求助大神们,先谢了!


主要问题 1.对话框是如何点击按钮自动更新的?我是通个重新加载对话框实现,一闪一闪的。
            2.我想选择A类门时下面的门页高能变灰,选择B类门时就变回来。一直不能实现。

像打印的对话框就做得很完美!!






liuhe 发表于 2023-9-12 12:26:58

想要流畅需要注意以下几点
1.每次new_dialog 出现的界面都和上次一样的位置,(new_dialog dlgname dcl_id ])是可以带坐标显示界面的。
2.减少(done_dialog )的使用,done_dialog 每次都要重新加载界面,会显示退出再加载,ACTION_TILE 之后如果只是更改界面的参数,是不需要重新加载界面的,从而不一定是跟着done_dialog 。
比如我的代码    (ACTION_TILE "BUT1" "(LH:BUT1 KLST1 KLST3)");;;;界面设置参数初始化,不需要执行操作,因为无需DONE_DIALOG 从而避免退出重新加载,就不会闪退了
(ACTION_TILE "cancel" "(DONE_DIALOG 0)")
(ACTION_TILE "accept" "(LH:ACCEPT P1 P3 KLST1)(DONE_DIALOG 1)")
(SETQ STD (START_DIALOG))
(UNLOAD_DIALOG DCL_ID)
3.DCL是无法折叠顺滑展开的,只能做两个dcl界面进行交互加载切换。


我的初始化就不要重新加载界面,见视频

`中微子 发表于 2023-9-12 18:09:33

liuhe 发表于 2023-9-12 12:26
想要流畅需要注意以下几点
1.每次new_dialog 出现的界面都和上次一样的位置,(new_dialog dlgname dcl_id...

谢谢!正在修改。用set_tile可以更新。

tomonkey239 发表于 2023-9-12 15:56:47

liuhe 发表于 2023-9-12 12:26
想要流畅需要注意以下几点
1.每次new_dialog 出现的界面都和上次一样的位置,(new_dialog dlgname dcl_id...

很酷。你是做包装的吗?大佬

lxl217114 发表于 2023-9-12 11:59:12

谢谢分享,马克

yjccwf 发表于 2023-9-12 12:05:35

(mode_tile "key" 0)(mode_tile "key" 1)就能切换变灰的问题在lisp里面控制就可以了

liuhe 发表于 2023-9-12 16:10:19

tomonkey239 发表于 2023-9-12 15:56
很酷。你是做包装的吗?大佬

不知道啊,别人定制的插件

e2002 发表于 2023-9-12 17:31:22

DCL只有最基础最古老的的GUI对话框控件,只能这样了,要想高级UI,只能用 WinForm,WPF,QT 来弄了,OpenDCL也能做一些更加丰富和现代的控件,还有Modeless的交互设计。

`中微子 发表于 2023-9-12 18:22:58

又出了个新问题
fill_image画的线要怎么清除?

wzg356 发表于 2023-9-13 07:30:41

对话框可以记忆左上角位置,变化的部分放在右侧下侧,这样重新载入效果好的一些,更新img前先全填充满同一色——就相当于橡皮擦———再画需要的
页: [1] 2
查看完整版本: 花了一星期写出个DCL,与系统的对话框有很大差距,追求完美的我又来寻求帮助了!