I just bought BlitzPlus... Help, please!
BlitzPlus Forums/BlitzPlus Beginners Area/I just bought BlitzPlus... Help, please!
| ||
| 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 globalevent = 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 |
| ||
| Asi Forum Codes: http://www.blitzbasic.com/faq/faq_entry.php?id=2 |
| ||
| 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. |
| ||
| Use [ and ] , not { } |
| ||
| oh... |