Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Wait Window Positioning
Message
From
29/07/1999 12:48:02
 
 
To
29/07/1999 12:43:19
Kenneth Downs
Secure Data Software, Inc.
New York, United States
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
00247751
Message ID:
00247764
Views:
31
Watch out for imbedded html folks!

>>Is there a way to center a wait window for any screen resolution? As far as I can see the window positioning system is based on columns?!?!? Ick, someone have a suggestion/trick?:)
>
>John,
>
>I Downloaded the following from Compuserve a few years ago:
>
>
>****************************************************************************
>*
>*  PROGRAM NAME: WaitWCtr.prg
>*
>*  AUTHOR: Richard A. Schummer,         August 1996
>*
>*  COPYRIGHT © 1996   All Rights Reserved.
>*     Richard A. Schummer
>*     42759 Flis Dr.
>*     Sterling Heights, MI  48314-2850
>*     RSchummer@CompuServe.com
>*
>*     The routine was made available via the DAFUG Newsletter and on
>*     CompuServe so all in the FoxPro community could benefit from it.
>*
>*  PROGRAM DESCRIPTION:
>*     This program centers a WAIT WINDOW message based on the position
>*     of the Visual FoxPro frame using the new (*row*), (*col*) functionality
>*     of the WAIT WINDOW.  If the first parameter (actual message) is not
>*     sent, the routine does not execute.
>*
>*  CALLED BY:
>*     =WaitWCtr((*txMsg*), (*tlNoWait*))
>*
>*  SAMPLE CALL:
>*     =WaitWCtr("Send Rick lots of cash", .T.)
>*
>*  INPUT PARAMETERS:
>*     txMsg    = Required parameter, this is the message that is displayed
>*                in the WAUT WINDOW.  This parameter can be any type, the
>*                routine will convert the value to one that can be displayed
>*                in the WAIT WINDOW.  If not sent the routine quits without
>*                a message displayed.
>*     tlNoWait = Optional parameter, defaults to .F., if .T. the WAIT WINDOW
>*                becomes a NOWAIT window.
>*
>*  OUTPUT PARAMETERS:
>*     None
>*
>*  DATABASES ACCESSED:
>*     None
>*
>*  GLOBAL VARIABLES REQUIRED:
>*     None
>*
>*  GLOBAL PROCEDURES REQUIRED:
>*     None
>*
>*  DEVELOPMENT STANDARDS:
>*     Version 2.1 compliant
>*
>*  TEST INFORMATION:
>*     None
>*
>*  SPECIAL REQUIREMENTS/DEVICES:
>*     None
>*
>*  FUTURE ENHANCEMENTS:
>*     None
>*
>*  LANGUAGE/VERSION:
>*     Visual FoxPro 3.x or higher
>
>*
>****************************************************************************
>*
>*                           C H A N G E    L O G
>*
>*   Date                SE            System           Description
>* ----------  ----------------------  -------  -----------------------------
>* 08/05/1996  Richard A. Schummer     Common   Created program
>* --------------------------------------------------------------------------
>* 08/25/1996  Richard A. Schummer     Common   Fixed TYPE() bugs, added
>*                                              NOWAIT capability and header
>* --------------------------------------------------------------------------
>* 09/27/1997  Ken Downs						   Always in NOWAIT, explicitly set the value of 2nd parameter
>* 01/25/1999  Ken Downs                        Moved into Active FrameworX
>****************************************************************************
>LPARAMETER txMsg, tlNoWait
>
>
>DO CASE
>   CASE PARAMETERS() = 0
>      RETURN
>   CASE PARAMETERS() = 1
>      tlNoWait = .F.
>ENDCASE
>
>tlNoWait = .t.
>
>
>LOCAL lcNoWait                         && Used for macro expansion fo NOWAIT
>LOCAL lcMsgFontName                    && FontName built into the VFP WAIT
>*WINDOW
>LOCAL lnMsgFontSize                    && FontSize built into the VFP WAIT
>*WINDOW
>LOCAL lcMsgStyle                       && Font Style built into the VFP WAIT
>*WINDOW
>LOCAL lnMsgWidth                       && Calculated length of message in
>*columns
>LOCAL lnMsgRow                         && Calculated position of message in
>*rows
>LOCAL lnMsgCol                         && Calculated position of message in
>*cols
>LOCAL lcScreenStyle                    && Font Style (Bold and Italic) for
>*_SCREEN
>
>* Determine macro expansion foe NOWAIT
>IF tlNoWait
>   lcNoWAIT = "NOWAIT"
>ELSE
>   lcNoWAIT = ""
>ENDIF
>
>* Convert message to character for display
>DO CASE
>   CASE TYPE("txMsg") = "C"
>   CASE TYPE("txMsg") = "L"
>      txMsg = IIF(txMsg, "Yes", "No")
>   CASE TYPE("txMsg") = "N"
>      txMsg = ALLTRIM(STR(txMsg,20,3))
>   CASE TYPE("txMsg") = "Y"
>      txMsg = ALLTRIM(STR(txMsg,20,4))
>   CASE TYPE("txMsg") = "D"
>      txMsg = DTOC(txMsg)
>   CASE TYPE("txMsg") = "T"
>      txMsg = TTOC(txMsg)
>   CASE TYPE("txMsg") = "O"
>      txMsg = "(Object)"
>   CASE TYPE("txMsg") = "M"
>      txMsg = "(Memo)"
>   CASE TYPE("txMsg") = "G"
>      txMsg = "(General)"
>   OTHERWISE                           && Undefined,
>      RETURN
>ENDCASE
>
>* Calculate position for WAIT WINDOW
>lcMsgFontName = "MS San Serif"
>lnMsgFontSize = 8
>lcMsgStyle    = "B"
>
>lnMsgWidth    = TXTWIDTH(txMsg, ;
>                         lcMsgFontName, ;
>                         lnMsgFontSize, ;
>                         lcMsgStyle)
>
>lnMsgRow      = ((WROWS("SCREEN")- ;
>                FONTMETRIC(1,lcMsgFontName,;
>                             lnMsgFontSize,;
>                             lcMsgStyle ) /;
>                FONTMETRIC(1)) / 2) + ;
>                FONTMETRIC(9) + ;
>                FONTMETRIC(9) + 2
>lnMsgCol      = (WCOLS("SCREEN")- lnMsgWidth * ;
>                FONTMETRIC(6,lcMsgFontName,;
>                             lnMsgFontSize,;
>                             lcMsgStyle ) /;
>                FONTMETRIC(6)) / 2 - ;
>                3
>
>lcScreenStyle = ""
>lcScreenStyle = lcScreenStyle + ;
>                IIF(_SCREEN.FontBold, "B","")
>lcScreenStyle = lcScreenStyle + ;
>                IIF(_SCREEN.FontItalic, "I","")
>
>* Adjust to position in the VFP Frame since the
>* WAIT WINDOW Row and Column reference the
>* actual desktop.
>
>lnMsgRow      = lnMsgRow + ;
>                (_SCREEN.Top  / ;
>                 FONTMETRIC(1,_SCREEN.FontName, ;
>                              _SCREEN.FontSize, ;
>                              lcScreenStyle))
>lnMsgCol      = lnMsgCol + ;
>                (_SCREEN.Left / ;
>                 FONTMETRIC(6,_SCREEN.FontName, ;
>                              _SCREEN.FontSize, ;
>                              lcScreenStyle))
>
>WAIT WINDOW txMsg AT lnMsgRow, lnMsgCol &lcNoWAIT
>
>RETURN
>
--Todd Sherman
-Wake Up! Smell the Coffee!
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform