I made a code for the base of a program, and need help. It seems as though every time I close a tool window, I close the whole program. Could someone fix this code so that closing the window that comes up when you click File> New doesn't close the entire program. Here is the code:
------------------------------------------------------------
;program by Paul Herz
Global filename
filename="project2"
Window1=CreateWindow("Program",500,300,400,300)
SetMinWindowSize Window1,400,300
SetStatusText Window1,"©2008 ÆroBlu Software"
menu=WindowMenu(Window1)
file=CreateMenu("File",0,menu)
CreateMenu("New",1,file)
CreateMenu("Open",2,file)
CreateMenu("",0,file)
CreateMenu("Save",3,file)
CreateMenu("Save as...",4,file)
CreateMenu("",0,file)
CreateMenu("Quit",5,file)
Function newfilewindow()
file=CreateWindow("TEST",525,335,350,240,0,17)
End Function
UpdateWindowMenu Window1
;--->>MAIN<>LOOP<<---;
Repeat
id=WaitEvent()
If ID=$803 Then End
If ID=$1001 Then
EID=EventData()
Select EID
Case 1
newfilewindow()
Case 2
AppTitle("Open")
Notify("Open")
Case 3
AppTitle("Save")
Notify("Save")
Case 4
AppTitle("Save as...")
Notify("Save as...")
Case 5
AppTitle("Are You Sure?")
result=Confirm("Are You Sure You Want to Quit?",True)
If result=1 Then
End
Else
EndIf
End Select
EndIf
Forever
End
If ID=$803 Then End
There's your problem. You need to see which window has closed with EventSource.
OK Thanks,
it is late,
so I will test it
2Mar0.
9|-| -smiley of the day: Miner smiley!
--------------------------------------
but both windows
(i tested in the blitzcc console)
returns zero!
and when I try to attach a group
handle, it screws up! |-((
--------------------------------
you need to check the event, the window 'file' needs to be global
event = WaitEvent()
Select event
Case $803
window_closed = EventSource()
Select window_closed
Case Window1
Case file
End Select
End Select
thanks, that is helpful.
P.S. how the heck do you do that black bg.
and green text? Is this forum BBCode or HTML
based?
BBCode: no irony, please.
oh dag. :-( I give up. can someone just fix the code?
now nothing works:
;program by Paul Herz
Global filename
filename="project2"
Global filewin
Window1=CreateWindow("Program",500,300,400,300)
SetMinWindowSize Window1,400,300
SetStatusText Window1,"©2008 ÆroBlu Software"
menu=WindowMenu(Window1)
file=CreateMenu("File",0,menu)
CreateMenu("New",1,file)
CreateMenu("Open",2,file)
CreateMenu("",0,file)
CreateMenu("Save",3,file)
CreateMenu("Save as...",4,file)
CreateMenu("",0,file)
CreateMenu("Quit",5,file)
Function newfilewindow()
filewin=CreateWindow("TEST",525,335,350,240,0,17)
End Function
UpdateWindowMenu Window1
;--->>MAIN<>LOOP<<---;
Repeat
id=WaitEvent()
event = WaitEvent()
Select event
Case $803
window_closed = EventSource()
Select window_closed
Case Window1
Case file
End Select
End Select
If ID=$803 Then
Print EventData
EndIf
If ID=$1001 Then
EID=EventData()
Select EID
Case 1
newfilewindow()
Case 2
AppTitle("Open")
Notify("Open")
Case 3
AppTitle("Save")
Notify("Save")
Case 4
AppTitle("Save as...")
Notify("Save as...")
Case 5
AppTitle("Are You Sure?")
result=Confirm("Are You Sure You Want to Quit?",True)
If result=1 Then
End
Else
EndIf
End Select
EndIf
Forever
End
;-----------------------
take a look at the code below, we only need to call waitevent once, events can be checked using 'event' var it will contain the last generated event.
Global filename
filename="project2"
Global filewin
Window1=CreateWindow("Program",500,300,400,300)
SetMinWindowSize Window1,400,300
SetStatusText Window1,"©2008 ÆroBlu Software"
menu=WindowMenu(Window1)
file=CreateMenu("File",0,menu)
CreateMenu("New",1,file)
CreateMenu("Open",2,file)
CreateMenu("",0,file)
CreateMenu("Save",3,file)
CreateMenu("Save as...",4,file)
CreateMenu("",0,file)
CreateMenu("Quit",5,file)
Function newfilewindow()
filewin=CreateWindow("TEST",525,335,350,240,0,17)
End Function
UpdateWindowMenu Window1
;--->>MAIN<>LOOP<<---;
Repeat
event = WaitEvent()
Select event
Case $1001 ; menu action events
EID=EventData()
Select EID
Case 1
newfilewindow()
Case 2
AppTitle("Open")
Notify("Open")
Case 3
AppTitle("Save")
Notify("Save")
Case 4
AppTitle("Save as...")
Notify("Save as...")
Case 5
AppTitle("Are You Sure?")
result=Confirm("Are You Sure You Want to Quit?",True)
If result=1 Then
End
EndIf
End Select
Case $803 ; close window events
window_closed = EventSource()
Select window_closed
Case Window1
Notify "You clicked to close Window1"
Case filewin
Notify "You clicked to close filewin"
HideGadget filewin
End Select
End Select
Forever
End
code tags are {code} {/code} but change '{' and '}' for '[' and ']'
kev
God, thanks a bunch, Kev. Now that I have a base ready, I don't have to be such an n00B.
-----------------------------------------------------
lets try some BBcode with {}s magic...
{i}uberitalics!{/i}
{b}UBER-BOLDINESS!{/b}
okay, fun over.
did that work...?
okay... horrible failure.