[Gambas-user] Creating a menu at runtime.(Solved sort of)
richard terry
rterry at ...1946...
Sun Apr 26 23:35:05 CEST 2009
On Mon, 27 Apr 2009 12:44:21 am you wrote:
> the code is good but why did you use an observer ??? You just need to
> set the handle in the new request.
Thanks, I'll do that. I looked everywhere trying to figure this out, perhaps
there should be this type of example in the help file.
Regards
Richard
>
> An observer is mde to catch an event before or after the objet observed.
>
> to change the event parent and handle : Object.Attach(...
> http://gambasdoc.org/help/comp/gb/object/attach?en
>
> For Each Printer_name InMyApp.available_printers
> '--------------------------------------------------
> 'make a menu item for each printer
> '--------------------------------------------------
> menu_item = New Menu(mnuPrinter) As "mnuPrinter"
> With menu_item
> .Caption = Printer_name
> .Tag = Printer_name
> .Name = Printer_name
> End With
> Next
>
>
> Regards,
>
> Fabien Bodard
>
> 2009/4/26 richard terry <rterry at ...1946...>:
> > On Sun, 26 Apr 2009 12:22:51 pm richard terry wrote:
> >> Is it possible to create/add to a menu at runtime.
> >>
> >> If so, I wonder if anyone could give me an example.
> >>
> >> Regards
> >>
> >> Richard
> >>
> >> ------------------------------------------------------------------------
> >>--- --- Crystal Reports - New Free Runtime and 30 Day Trial
> >> Check out the new simplified licensign option that enables unlimited
> >> royalty-free distribution of the report engine for externally facing
> >> server and web deployment.
> >> http://p.sf.net/sfu/businessobjects
> >> _______________________________________________
> >> Gambas-user mailing list
> >> Gambas-user at lists.sourceforge.net
> >> https://lists.sourceforge.net/lists/listinfo/gambas-user
> >
> > Answering myself, but perhaps someone can check this code and see if it
> > is valid, or could improve it.
> >
> > The object was to put a popup menu on the print button in my prescription
> > writer, so that if I didn't want to send the script to the default
> > printer I could right mouse click and get up a list, so this is what I
> > did:
> >
> > Public Sub Editor_SpecialButtons_Menu()
> > Dim menu_item As Menu
> > Dim hObs As Observer
> > Dim Printer_name As String
> > '------------------------------------------
> > 'Create a new menu on the fly
> > '------------------------------------------
> > Dim mnuPrinter As New Menu(Me)
> >
> > '-----------------------------------------------------------------
> > 'Only do this at the moment in the script writer
> > 'and only on the print button
> > '-----------------------------------------------------------------
> > Select Case WorkspaceEditor.ActiveWindow.Tag
> > Case "Scripts"
> > Select Case Last.tag 'the buttons
> > Case "print"
> >
> > 'Get list of printers attatched to this machine
> > MyApp.Printers_Get_Available()
> > For Each Printer_name InMyApp.available_printers
> > '--------------------------------------------------
> > 'make a menu item for each printer
> > '--------------------------------------------------
> > menu_item = New Menu(mnuPrinter)
> > With menu_item
> > .Caption = Printer_name
> > .Tag = Printer_name
> > .Name = Printer_name
> > hobs = New Observer(menu_item) As "mnuPrinter"
> > End With
> > Next
> > mnuPrinter.Popup()
> >
> > End Select
> > End Select
> > End
> >
> >
> > Public Sub mnuPrinter_Click()
> >
> > Print "in the new menu", Last.tag
> >
> > End
> >
> > This seems to give the desired result, but is the code ok?
> >
> > Regards
> >
> > Richard
> >
> > -------------------------------------------------------------------------
> >----- Crystal Reports - New Free Runtime and 30 Day Trial
> > Check out the new simplified licensign option that enables unlimited
> > royalty-free distribution of the report engine for externally facing
> > server and web deployment.
> > http://p.sf.net/sfu/businessobjects
> > _______________________________________________
> > Gambas-user mailing list
> > Gambas-user at lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/gambas-user
More information about the User
mailing list