Using Win32 functions in Visual FoxPro Image Gallery
Code examples:
How to delete a service object
Retrieving default spooling directory name
Using the high-resolution performance counter
Who is the first in viewing the Clipboard
Copying strings through the global memory block
Retrieving the System Time adjustment
Accessing the list of Windows Recent Documents
Creating two-byte hashes for a list of URLs
Dynamic strings implemented through VFP Custom class
How to check whether the system is 32-bit or 64-bit
How to create a service object
List of ODBC drivers installed (read from the [ODBC Drivers] section)
Reading STARTUPINFO structure for the current VFP session
Retrieving national language settings
Using Video Capture: enumerating installed capture drivers
How to fill a buffer with random bytes using Cryptography API Functions
Obtaining the System and Windows folder names
PocketPC: creating directories and files
Joining local computer to a domain (XP/2000)
Retrieving the elapsed time since the system was started
Using ActiveX control for adding a menu directly to a FoxPro MDI form
Creating a file, then moving it to another destination
Displaying the color palette stored in an image file
Searching for the specified file using the SearchPath
Comparing dimensions of the VFP main window with _SCREEN properties

User rating: 0/10 (0 votes)
Rate this code sample:
  • ~
More code examples    Listed functions    Add comment     W32 Constants      Translate this page Printer friendly version of this code sample
 
DO decl
 
* displays dimensions for the objects
DO _winRect      && main VFP window
DO _clientRect   && client part of the main VFP window
DO _screenRect   && _screen object
 
PROCEDURE _screenRect
    ? 
    ? "*** _SCREEN dimensions" 
    ? "    left:   " + STR(_screen.left,   6) 
    ? "    top:    " + STR(_screen.top,    6) 
    ? "    width:  " + STR(_screen.width,  6) 
    ? "    height: " + STR(_screen.height, 6) 
 
PROCEDURE _winRect
    lpRect = REPLI (Chr(0), 16) 
    = GetWindowRect (GetActiveWindow(), @lpRect) 
 
    lnWinLeft   = buf2dword(SUBSTR(lpRect,  1,4)) 
    lnWinTop    = buf2dword(SUBSTR(lpRect,  5,4)) 
    lnWinRight  = buf2dword(SUBSTR(lpRect,  9,4)) 
    lnWinBottom = buf2dword(SUBSTR(lpRect, 13,4)) 
    lnWinWidth  = lnWinRight - lnWinLeft + 1 
    lnWinHeight = lnWinBottom - lnWinTop + 1 
 
    ? "*** Main VFP window rectangle" 
    ? "    left:   " + STR(lnWinLeft,   6) 
    ? "    top:    " + STR(lnWinTop,    6) 
    ? "    right:  " + STR(lnWinRight,  6) 
    ? "    bottom: " + STR(lnWinBottom, 6) 
    ? "    width:  " + STR(lnWinWidth,  6) 
    ? "    height: " + STR(lnWinHeight, 6) 
 
PROCEDURE _clientRect
    lpRect = REPLI (Chr(0), 16) 
    = GetClientRect (GetActiveWindow(), @lpRect) 
 
    ?
    lnWinLeft   = buf2dword(SUBSTR(lpRect,  1,4)) 
    lnWinTop    = buf2dword(SUBSTR(lpRect,  5,4)) 
    lnWinRight  = buf2dword(SUBSTR(lpRect,  9,4)) 
    lnWinBottom = buf2dword(SUBSTR(lpRect, 13,4)) 
    lnWinWidth  = lnWinRight - lnWinLeft + 1 
    lnWinHeight = lnWinBottom - lnWinTop + 1 
 
    ? "*** Main VFP client window rectangle" 
    ? "    left:   " + STR(lnWinLeft,   6) 
    ? "    top:    " + STR(lnWinTop,    6) 
    ? "    right:  " + STR(lnWinRight,  6) 
    ? "    bottom: " + STR(lnWinBottom, 6) 
    ? "    width:  " + STR(lnWinWidth,  6) 
    ? "    height: " + STR(lnWinHeight, 6) 
 
PROCEDURE decl
    DECLARE INTEGER GetActiveWindow IN user32 
    DECLARE INTEGER GetWindowRect IN user32 INTEGER hwnd, STRING @lpRect 
    DECLARE INTEGER GetClientRect IN user32 INTEGER hwnd, STRING @lpRect 
 
FUNCTION buf2dword(cBuffer)
RETURN Asc(SUBSTR(cBuffer, 1,1)) + ;
    BitLShift(Asc(SUBSTR(cBuffer, 2,1)),  8) +;
    BitLShift(Asc(SUBSTR(cBuffer, 3,1)), 16) +;
    BitLShift(Asc(SUBSTR(cBuffer, 4,1)), 24)
 
 
 

User rating: 0/10 (0 votes)
Rate this code sample:
  • ~
2219 bytes  
Created: 2001-07-31 12:00:00  
Modified: 2004-06-07 09:18:51  
Visits in 7 days: 89  
Listed functions:
GetActiveWindow
GetClientRect
GetWindowRect
Printer friendly API declarations
My comment:
_SCREEN Width and Height properties depend on location of system menu (try RELEASE MENU _msysmenu), on status bar (try SET STATUS BAR ON/OFF). And of course, it depends on where system toolbar members placed.

Remove some or all objects :status bar, system menu, tool bars to check how it affects the output of this code.
Word Index links for this example:
Translate this page:
  Spanish    Portuguese    German    French    Italian  
FreeTranslation.com offers instant, free translations of text or web pages.
User Contributed Notes:
There are no notes on this subject.


Copyright © 2001-2013 News2News, Inc. Before reproducing or distributing any data from this site please ask for an approval from its owner. Unless otherwise specified, this page is for your personal and non-commercial use. The information on this page is presented AS IS, meaning that you may use it at your own risk. Microsoft Visual FoxPro and Windows are trade marks of Microsoft Corp. All other trademarks are the property of their respective owners. 

Privacy policy
Credits: PHP (4.4.9), an HTML-embedded scripting language, MySQL (5.1.55-log), the Open Source standard SQL database, AceHTML Freeware Version 4, freeware HTML Editor of choice.   Hosted by Korax Online Inc.
Last Topics Visited (107.21.186.38)
5 sec.Example: 'Displaying printer-properties Property Sheet for the specified printer'
56.13 min.Example: 'Sending a standard message with one or more attached files using default email client'
9.07 hrs.Example: 'Verifying a file using the Authenticode policy provider'
 Function: 'GdipSetPageScale'
Function group: 'GDI+ Graphics'
9.29 hrs.Example: 'Starting a dialog box for connecting to network resources (mapping network drive)'
 Example: 'Hiding mouse cursor'
16.74 hrs.Function: 'NetUserDel'
Function group: 'Network Management'
 Example: 'GetFileOwner - Get the owner of an NTFS file'
19.63 hrs.Example: 'Using GetNearestColor'
 Example: 'The SQLGetProp() creates a bridge between Visual FoxPro and the ODBC API'
Google
Advertise here!