Hi Meinrad, Thank you very much for your help. Where would i put the message handler: @topwin.handle(@button, FXSEL(Fox::SEL_COMMAND,Fox::FXDialogBox::ID_ACCEPT), nil) Would i put it inside the button_ok.connect method? FX::Button.new(@verticalframe7){|w| @button_ok=w w.wdg_name='button_ok' w.text="Ok" w.width=21 w.y=4 w.height=21 w.layoutHints=40 w.x=26 w.selector=FX::DialogBox::ID_QUIT @button_ok.connect(Fox::SEL_COMMAND){ lat = textfield_lat.text lon = textfield_lon.text heading =textfield_heading.text @topwin.handle(@button, FXSEL(Fox::SEL_COMMAND,Fox::FXDialogBox::ID_ACCEPT), nil) } } Thanks again! Eduardo --- Meinrad Recheis <meinrad.recheis / gmail.com> wrote: > On 12/8/06, e aldaz <ardhazes / yahoo.com> wrote: > > Dear All > > > > I am new to FOX and FoxGUIb. I have found FoxGUIb > very > > useful and I have created an application with > menus, > > one of which calls a DialogBox for the user to > enter > > some values. After finishing the user will press > OK to > > save data. > > > > Unfortunately I don't know how to let the > > DialogBox know tha tonce the OK button is pressed > it > > should exit. It seems I need to send message > ID_ACCEPT > > to some recipient (not sure which) when the button > OK > > is clicked? But no idea how to do that with the > code > > that is generated by FoxGUIb as the button is > created > > in a different way to what I have seen in the > examples > > in the web, and I have no idea how to relate them > ( > > I'm afraid I haven't really understood the > FXButton > > API) > > me neither ;) ... there are some very hackish things > that make the use > of fox toolkit not as easy as it could be. > > > > > The dialog box examples I have seen do something > like > > the following: > > > > # Accept > > accept = FXButton.new(buttons, "&Accept", nil, > > self, ID_ACCEPT, > > > FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y) > > > > > > However the FoxGUIb creates a button doing: > > > > FX::Button.new(@verticalframe7){|w| > > @button_ok=w > > w.wdg_name='button_ok' > > w.text="Ok" > > w.width=21 > > w.y=4 > > w.height=21 > > w.layoutHints=40 > > w.x=26 > > w.selector=FX::DialogBox::ID_QUIT > > > > > @button_ok.connect(Fox::SEL_COMMAND){ > > lat = > textfield_lat.text > > lon = > textfield_lon.text > > heading > > =textfield_heading.text > > > #How > > do I indicate that I want to accept and exit?:? > > > > } > > } > > > > So in this last example, how do I exit the dialog > when > > button is clicked? > > the most simple aproach would be like this: > @button_ok.connect(Fox::SEL_COMMAND){ > .... > @topwin.hide() # assuming that @topwin is the > name of the dialogbox > } > > however if your dialog box has been run modal this > will not work. the > dialog box disappears but is still modal. in this > case you have to > send an ID_ACCEPT message to @topwin like this: > > @topwin.handle(@button, FXSEL(Fox::SEL_COMMAND, > Fox::FXDialogBox::ID_ACCEPT), nil) > > hope this helps, > -- meinrad (henon) > > > > Thanks very much for your help > > Eduardo > > > > ___________________________________________________________ The all-new Yahoo! Mail goes wherever you go - free your email address from your Internet provider. http://uk.docs.yahoo.com/nowyoucan.html