原先设计是由一个模式窗口用来登录,填密码等信息。
主窗口不显示,等到模式窗口密码正确再关闭。旧代码里面并没有指定mainform。只指定了关闭登录窗口后的maintable是哪一个。
后来反馈模式窗口经常看不见,或者被桌面的其他东西挡住,切不出来,而且主窗口没出来的时候,任务栏看不到程序主体,只在进程里面有。
所以想改为,先显示主窗口,然后再主窗口上层显示模式窗口。
但是软件并没有为主窗口设计界面,就是没有mainfrom。。。。只有maintable。。
如何实现?
旧代码如下:
afterprojectopen:
Forms("登录").open
Forms("登录")里面的确认按钮:
e.form.close
Forms("登录")的afterclose:
MainTable = Tables("指令单")
改为新代码如下:
MainTable = Tables("指令单") 这里并没有显示出主窗口。还是先显示了登录界面,并且任务栏看不见系统图标。
Forms("登录").open
[此贴子已经被作者于2024/7/24 10:43:21编辑过]
afterprojectopen:
BaseMainForm.open
Forms("登录").open
大概是思路就是这样, 但是basemainform没有open的指令。
怎么写?
没有用的,AfterOpenProject没有执行完毕是显示不了的。再说已经显示主界面,在登录也不合理。
把登录的模式窗口显示到任务栏即可,登录窗口afterload:
e.form.baseform.showintaskbar=true
主界面不加载数据,界面的按钮也是空的。这些和登录有关的是在登录界面的确定按钮里面,通过每个人的权限配置字符串抓取来后,逐一让主界面按钮可见或不可见,以及设定系统的权限。
每个按钮在点击的时候,都会和权限的全局变量进行比对。
哪如何在系统afteropenproject代码结束后,立刻显示登录的窗口?
就是模式窗口的打开不放在afteropenproject,放哪里可以在主窗口之后立刻显现?
[此贴子已经被作者于2024/7/24 11:01:09编辑过]
搞定了,做了一个折中的。。
在systemidel里面做了这个,但是感觉没有立刻显现。
If Vars("loginsys") = False Then
Forms("登录").open
Vars("loginsys") = True
End If