I bet this is a long shot...
I'm updating some very old progams. Is there a way to use MSGBOX to display a message on the screen while a process is going on without stopping execution of the program to wait for a mouse click on a button?
I'd like to display a msgbox while I'm sorting a long file that says something like "Processing...please wait" or something more informative so the user doesn't see a blank screen and wonder if it has hung. I'd love to use a progress meter but I can't update it during the sort process. Currently, I'm just printing the message text to the screen without any borders, which doesn't look all that pretty. I could display a child WINDOW with the message in it. Is that a better idea?
-- Susan
MsgBox for status information
Moderators: Susan Smith, admin, Gabriel
-
- Posts: 717
- Joined: Sun Aug 10, 2008 4:24 am
- Location: Southern California
The standard msgbox will interrupt the program while it is displayed.
You can launch a NOPARENT window with the message in it and then close the window when done.
Or, you could possible use AUTOIT to launch a message box and then kill itself when a new title appeared
Or you could spawn another session that displayed the message
Of the above options I believe the NOPARENT window would be the easiest to manage and yeild the most efficient results. Set it as a function that returns the number of the window as the value of the function. When your routine finishes then close that window
01010 let waitwin=fnwait("Please wait - processing")
01020
01900
01910 close #waitwin: !:waitwin=0
def library fnwaitwin(message$*1000)
library env$("PD")&"vol002\fnsnap.dll":fngethandle
open #(waitwin:=fngethandle):"srow=2,scol=2,rows=3,cols="str$(min(70,len(message$))),display,outin
print #waitwin, fields "2,&str$(min(70,len(message$))/2)&",cc ,N/W:T":message$
fnend
Or something like that.
FNGeorge
You can launch a NOPARENT window with the message in it and then close the window when done.
Or, you could possible use AUTOIT to launch a message box and then kill itself when a new title appeared
Or you could spawn another session that displayed the message
Of the above options I believe the NOPARENT window would be the easiest to manage and yeild the most efficient results. Set it as a function that returns the number of the window as the value of the function. When your routine finishes then close that window
01010 let waitwin=fnwait("Please wait - processing")
01020
01900
01910 close #waitwin: !:waitwin=0
def library fnwaitwin(message$*1000)
library env$("PD")&"vol002\fnsnap.dll":fngethandle
open #(waitwin:=fngethandle):"srow=2,scol=2,rows=3,cols="str$(min(70,len(message$))),display,outin
print #waitwin, fields "2,&str$(min(70,len(message$))/2)&",cc ,N/W:T":message$
fnend
Or something like that.
FNGeorge
-
- Posts: 717
- Joined: Sun Aug 10, 2008 4:24 am
- Location: Southern California
-
- Posts: 717
- Joined: Sun Aug 10, 2008 4:24 am
- Location: Southern California
-
- Posts: 292
- Joined: Fri Jun 19, 2009 9:01 am
- Location: Lawrence, Kansas
- Contact:
-
- Posts: 717
- Joined: Sun Aug 10, 2008 4:24 am
- Location: Southern California