Using Win32 functions in Visual FoxPro Image Gallery
Device Context
..msdn
ChangeDisplaySettings
CreateCompatibleDC
CreateDC
DeleteDC
DeleteObject
EnumDisplayDevices
EnumDisplaySettings
GetDC
GetDeviceCaps
GetObject
GetObjectType
ReleaseDC
SelectObject
Code examples:
An alternative way of setting Form.Closable to False
Bitmap Class for Visual FoxPro application
Converting image file to .ICO file
Creating a clipping region from the path selected into the device context of a form
Custom GDI+ class
Displaying animated images on FoxPro form with BitBlt and StretchBlt functions
Displaying bitmap using the AlphaBlend function
Displaying dimmed window behind VFP top-level form
Drawing Windows predefined bitmaps using the LoadBitmap functions
How to change the name and the size of the font in the MessageBox dialog
How to convert a bitmap file to monochrome format (1 bpp)
How to copy the image of a form to the Clipboard using Bitmap API functions
How to create transparent areas inside a form -- punching holes in the form
How to draw custom Window Caption on FoxPro form
How to make a VFP form fading out when released (GDI version)
How to print a bitmap file
How to print FoxPro form
How to put a horizontal text scrolling on the form (a news line)
How to put a vertical text scrolling on the form (a movie cast)
Placing an arbitrary rectangular area of main VFP window on the Clipboard
Placing On-screen Alert on top of all windows
Printing text on the main VFP window
Printing text with the Escape function
Round FoxPro form
Splash Screen for the VFP application
Storing content of the Clipboard to a bitmap file
Storing screen shot of a form to bitmap file
Subclassing CommandButton control to create BackColor property
Using Common Controls: the Header Control
Using FrameRgn for displaying system colors
Using the LoadImage function to have a bitmap file loaded and displayed on VFP main window
Vertical Label control
An alternative way of setting Form.Closable to False

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
Before you begin:
screen copy

Similar examples:
  • How to draw a custom Window Caption on FoxPro form
  • A way to make a transparent area in a form -- a hole in the form
  • Round FoxPro form
  • Semi-transparent form
  •  
    PUBLIC oForm
    oForm = CREATEOBJECT("TestForm")
    oForm.Visible = .T.
     
    DEFINE CLASS TestForm As Form
    #DEFINE SM_CXSIZE 30
    #DEFINE SM_CYSIZE 31
    #DEFINE SM_CXFRAME 32 
    #DEFINE SM_CYFRAME 33 
    #DEFINE RGN_XOR 3
     
        Width=500
        Height=300
        AutoCenter=.T.
        Caption="Closing button, ahem... disabled"
     
    PROCEDURE Load
        THIS.declare
     
    PROCEDURE Activate
        THIS.RegionOn
     
    PROCEDURE Resize
        THIS.RegionOn
     
    PROCEDURE RegionOn
        LOCAL lnBtnWidth, lnBtnHeight, hRgnBase,;
            hRgnExcl, hWindow, x1,y1
     
        * or use SYSMETRIC
        lnBtnWidth = GetSystemMetrics(SM_CXSIZE) +;
            GetSystemMetrics(SM_CXFRAME) + 1
     
        lnBtnHeight = GetSystemMetrics(SM_CYSIZE) +;
            GetSystemMetrics(SM_CYFRAME) + 1
     
        hWindow = GetFocus()
    *    hWindow = ThisForm.HWnd
        THIS.GetFormRect(hWindow, @x1,@y1)
     
        hRgnBase = CreateRectRgn(0,0,x1,y1)
     
        hRgnExcl = CreateRectRgn(x1-lnBtnWidth,0,;
            x1,lnBtnHeight)
     
        = CombineRgn(hRgnBase, hRgnBase,;
            hRgnExcl, RGN_XOR)
     
        = SetWindowRgn(hWindow, hRgnBase, 1)
        = DeleteObject(hRgnBase)
        = DeleteObject(hRgnExcl)
     
    PROCEDURE GetFormRect(hWindow, x1,y1) 
        LOCAL lpRect
        lpRect = SPACE(16)
        = GetWindowRect(hWindow, @lpRect)
     
        x1 = THIS.buf2dword(SUBSTR(lpRect, 9,4)) -;
            THIS.buf2dword(SUBSTR(lpRect, 1,4))
     
        y1 = THIS.buf2dword(SUBSTR(lpRect, 13,4)) -;
            THIS.buf2dword(SUBSTR(lpRect, 5,4))
     
    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)
     
    PROCEDURE declare
        DECLARE INTEGER GetSystemMetrics IN user32;
            INTEGER nIndex
     
        DECLARE INTEGER DeleteObject IN gdi32;
            INTEGER hObject
     
        DECLARE INTEGER GetFocus IN user32
     
        DECLARE SetWindowRgn IN user32;
            INTEGER hWindow, INTEGER hRgn, SHORT bRedraw
     
        DECLARE SHORT GetWindowRect IN user32;
            INTEGER hWindow, STRING @lpRect
     
        DECLARE INTEGER CreateRectRgn IN gdi32;
            INTEGER nLeftRect, INTEGER nTopRect,;
            INTEGER nRightRect, INTEGER nBottomRect
     
        DECLARE INTEGER CombineRgn IN gdi32; 
            INTEGER hrgnDest, INTEGER hrgnSrc1,;
            INTEGER hrgnSrc2,;
            INTEGER fnCombineMode
     
    ENDDEFINE
     

    User rating: 0/10 (0 votes)
    Rate this code sample:
    • ~
    2151 bytes  
    Created: 2001-08-28 12:00:00  
    Modified: 2011-01-19 18:36:52  
    Visits in 7 days: 45  
    Listed functions:
    CombineRgn
    CreateRectRgn
    DeleteObject
    GetFocus
    GetSystemMetrics
    GetWindowRect
    SetWindowRgn
    Printer friendly API declarations
    My comment:
    Visual FoxPro 8.0 Samples: Creating Irregularly Shaped Windows Sample.
    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.22.25.119)
    3 sec.Example: 'Adding and deleting User Accounts'
    35.43 min.Function: 'SetMapMode'
    35.53 min.Function: 'FindText'
    Function group: 'Common Dialog Box'
    1.9 hrs.Function: 'GetInterfaceInfo'
    Function group: 'IP Helper'
    3.27 hrs.Example: 'How to Start a Process as Another User (NT/XP/2K)'
     Example: 'Using Change Notification Objects to monitor changes to the printer or print server'
    5.58 hrs.Example: 'Converting path to original case'
     Example: 'Enumerating ODBC drivers available on the local computer'
    8.07 hrs.Example: 'Initiating Inet connection using a modem'
     Example: 'Retrieving the name and type of all available RAS-capable devices'
    Google
    Advertise here!