以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  启动后如何先显示主窗口然后显示其他登录窗口?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=192809)

--  作者:lur320
--  发布时间:2024/7/24 10:42:00
--  启动后如何先显示主窗口然后显示其他登录窗口?
 原先设计是由一个模式窗口用来登录,填密码等信息。
主窗口不显示,等到模式窗口密码正确再关闭。旧代码里面并没有指定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编辑过]

--  作者:lur320
--  发布时间:2024/7/24 10:47:00
--  
afterprojectopen:
BaseMainForm.open
Forms("登录").open

大概是思路就是这样, 但是basemainform没有open的指令。

怎么写?

--  作者:有点蓝
--  发布时间:2024/7/24 10:55:00
--  
没有用的,AfterOpenProject没有执行完毕是显示不了的。再说已经显示主界面,在登录也不合理。

把登录的模式窗口显示到任务栏即可,登录窗口afterload:
e.form.baseform.showintaskbar=true

--  作者:lur320
--  发布时间:2024/7/24 11:00:00
--  
主界面不加载数据,界面的按钮也是空的。这些和登录有关的是在登录界面的确定按钮里面,通过每个人的权限配置字符串抓取来后,逐一让主界面按钮可见或不可见,以及设定系统的权限。
每个按钮在点击的时候,都会和权限的全局变量进行比对。


哪如何在系统afteropenproject代码结束后,立刻显示登录的窗口?

就是模式窗口的打开不放在afteropenproject,放哪里可以在主窗口之后立刻显现?


[此贴子已经被作者于2024/7/24 11:01:09编辑过]

--  作者:有点蓝
--  发布时间:2024/7/24 11:09:00
--  
放到计划管理
--  作者:lur320
--  发布时间:2024/7/24 11:13:00
--  
 搞定了,做了一个折中的。。
在systemidel里面做了这个,但是感觉没有立刻显现。

If Vars("loginsys") = False Then
    Forms("登录").open
    Vars("loginsys") = True
End If