Page 1 of 1
Dynamically creating windows and recieving events from them
Posted: Mon Feb 16, 2004 11:47 pm
by two_bits
Hello everyone, what i would like to do is something similar to what msn messenger does.
Every time someone pms you it will open another window similaer to every other chat window.
Now what I would like to know is how to do it? Is it possible to create an unknown number of windows and deal with events from every window??
Cheers
Posted: Tue Feb 17, 2004 12:11 am
by ricardo
Use WindowN = EventWindowID() to know which window produced the event.
You should use the same event loop:
Code: Select all
Repeat
EventID=WaitWindowEvent()
Select EventWindowID()
Case 1
Case 2
EndSelect
Until EventID=#PB_EventCloseWindow
One small example that you can run:
Code: Select all
If OpenWindow(0,100,150,450,100,#PB_Window_SystemMenu,"Test")
CreateGadgetList(WindowID())
ButtonGadget(2,300,30,50,25,"Test")
ButtonGadget(3,70,30,150,25,"Generate an event")
Repeat
EventID=WaitWindowEvent()
WindowN = EventWindowID()
Select EventID
Case #PB_EventGadget
Select EventGadgetID()
Case 2
OpenWindow(1,0,0,450,100,#PB_Window_SystemMenu,"Test")
CreateGadgetList(WindowID())
ButtonGadget(3,70,30,150,25,"Generate an event")
Case 3
MessageRequester("Window Event","This event was produced in window #" + Str(WindowN),0)
EndSelect
EndSelect
Until EventID=#PB_EventCloseWindow
EndIf
Posted: Sat Feb 21, 2004 1:25 am
by two_bits
Thanks a bunch m8y
