toolbox_set_toolbox_window_behavior_.htm
Navigation: Language Reference > 9 - Window and Report Attributes > Window and Report Attributes >====== TOOLBOX (set toolbox window behavior) ====== | |
The TOOLBOX attribute (PROP:TOOLBOX) specifies a WINDOW that is “always on top” and may be docked if the DOCK attribute is also present. Neither the WINDOW nor its controls retain input focus. This creates control behavior as if all the controls in the WINDOW had the SKIP attribute.
Normally, a WINDOW with the TOOLBOX attribute executes in its own execution thread to provide a set of tools to the window with input focus. The MSG attributes of the controls in the window appear in the status bar when the mouse cursor is positioned over the control.
Example:
PROGRAM MAP UseTools Tools END MainWin APPLICATION('My Application') MENUBAR MENU('File'),USE(?FileMenu) ITEM('E&xit'),USE(?MainExit),LAST END MENU('Edit'),USE(?EditMenu) ITEM('Use Tools'),USE(?UseTools) END END END Pre:Field STRING(400) UseToolsThread BYTE ToolsThread BYTE CODE OPEN(MainWin) ACCEPT CASE ACCEPTED() OF ?MainExit BREAK OF ?UseTools UseToolsThread = START(UseTools) END END **UseTools PROCEDURE !A procedure that uses a toolbox **MDIChild WINDOW('Use Tools Window'),MDI TEXT,HVSCROLL,USE(Pre:Field) BUTTON('&OK'),USE(?Exit),DEFAULT END CODE OPEN(MDIChild) !Open the window DISPLAY !and display it ToolsThread = START(Tools) !Pop up the toolbox ACCEPT CASE EVENT() !Check for user-defined events OF 401h !posted by toolbox controls !append date to end of field Pre:Field = CLIP(Pre:Field) & ' ' & FORMAT(TODAY(),@D1) OF 402h !append time to end of field Pre:Field = CLIP(Pre:Field) & ' ' & FORMAT(CLOCK(),@T1) END CASE ACCEPTED() OF ?Exit POST(400h,,ToolsThread) !Signal to close tools window BREAK END END CLOSE(MDIChild) Tools PROCEDURE !The toolbox procedure Win1 WINDOW('Tools'),****TOOLBOX BUTTON('Date'),USE(?Button1) BUTTON('Time'),USE(?Button2) END CODE OPEN(Win1) ACCEPT IF EVENT() = 400h THEN BREAK. !Check for close window signal CASE ACCEPTED() OF ?Button1 POST(401h,,UseToolsThread) !Post datestamp signal OF ?Button2 POST(402h,,UseToolsThread) !Post timestamp signal END END CLOSE(Win1)
See Also: DOCK
toolbox_set_toolbox_window_behavior_.htm.txt · Last modified: 2024/09/23 13:56 by sean