N nettidy Unregistered / Unconfirmed GUEST, unregistred user! 2009-01-10 #1 问题我在主程序中,打开子程序时,首先最小化主程序窗体,然后把主程序线程付给子程序打开,禁用主程序,当关闭子程序时,在解开主程序。现在想解开主程序时,让主程序窗体恢复正常,需要怎么处理?刚接触多线程,大家帮帮忙
问题我在主程序中,打开子程序时,首先最小化主程序窗体,然后把主程序线程付给子程序打开,禁用主程序,当关闭子程序时,在解开主程序。现在想解开主程序时,让主程序窗体恢复正常,需要怎么处理?刚接触多线程,大家帮帮忙
H hs-kill Unregistered / Unconfirmed GUEST, unregistred user! 2009-01-10 #2 ?你先启动主进程,然后启动线程打开子程序,同时挂起主进程当子程序结束后关闭线程再打开主进程?那你用多线程干吗?你所谓的把主程序线程付给子程序打开,是不是启动个线程,然后线程里去启动另外一个程序?等待这个程序结束后线程结束?如果是:1.没必要用现成,主进程里就可以做这个事2.线程结束有事件的.OnTerminate,在这个事件里恢复主窗体就行了3.你是怎么最小化的,如果是 application.Minimize;那么用application.Restore;恢复
?你先启动主进程,然后启动线程打开子程序,同时挂起主进程当子程序结束后关闭线程再打开主进程?那你用多线程干吗?你所谓的把主程序线程付给子程序打开,是不是启动个线程,然后线程里去启动另外一个程序?等待这个程序结束后线程结束?如果是:1.没必要用现成,主进程里就可以做这个事2.线程结束有事件的.OnTerminate,在这个事件里恢复主窗体就行了3.你是怎么最小化的,如果是 application.Minimize;那么用application.Restore;恢复
F fhli Unregistered / Unconfirmed GUEST, unregistred user! 2009-01-11 #3 是否是简单的,mainform.hide;......mainform.show;?
W wql Unregistered / Unconfirmed GUEST, unregistred user! 2009-01-12 #4 执行现成,然后主程序循环啊!主程序:Var _WiatTh : Boolean; // 全局 1. _WaitTh:=True; 2. 最小化主程序窗体; Self.Hide; 3. 建立现成并执行; 4. While (_WiatTh)do Sleep(1); 5. 恢复主程序; Self.Show;现成: While Not Terminateddo begin // 你的现成代码 end; _WiatTh:=False;搞订!
执行现成,然后主程序循环啊!主程序:Var _WiatTh : Boolean; // 全局 1. _WaitTh:=True; 2. 最小化主程序窗体; Self.Hide; 3. 建立现成并执行; 4. While (_WiatTh)do Sleep(1); 5. 恢复主程序; Self.Show;现成: While Not Terminateddo begin // 你的现成代码 end; _WiatTh:=False;搞订!
Z zkktom Unregistered / Unconfirmed GUEST, unregistred user! 2009-01-12 #5 application.Restore; SetForeGroundWindow(self.Handle); 不知道这样可不?