home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 16 / CD_ASCQ_16_0994.iso / news / 4611 / fw16d.ins / SAMPLES / TESTBRUS.PRG < prev    next >
Text File  |  1994-06-04  |  5KB  |  178 lines

  1. // Testing Brushes
  2.  
  3. #include "FiveWin.ch"
  4.  
  5. static oWnd
  6.  
  7. //----------------------------------------------------------------------------//
  8.  
  9. function Main()
  10.  
  11.    DEFINE WINDOW oWnd FROM 1, 1 TO 20, 70 TITLE "Bitmaps Demo" ;
  12.                  MENU BuildMenu()
  13.  
  14.    SET MESSAGE OF oWnd TO "FiveWin 1.0 - Dynamic Bitmaps Loading and Brushed Background"
  15.  
  16.    ACTIVATE WINDOW oWnd  MAXIMIZED ;
  17.       ON INIT CreaHija()
  18.  
  19. return nil
  20.  
  21.  
  22. //---------------------------------------------------------------------------//
  23.  
  24. function BuildMenu()
  25.  
  26.    local oMenu
  27.    
  28.    MENU oMenu
  29.       
  30.       MENUITEM OemToAnsi( "&Información" )
  31.       MENU
  32.          MENUITEM "&Acerca de..." ;
  33.             ACTION MsgInfo( "(C) A.Linares, F.Pulp≤n 1993", "FiveWin 1.0" ) ;
  34.             MESSAGE OemToAnsi( "Información acerca de este programa" )
  35.          SEPARATOR
  36.          MENUITEM "&Salir..." ACTION ;
  37.             If( MsgYesNo( OemToAnsi( "¿Desea terminar " + ;
  38.                           "la ejecución del programa ?" ) ), oWnd:End,) ;
  39.             MESSAGE OemToAnsi( "Terminar la ejecución del programa" )
  40.       ENDMENU
  41.       
  42.       MENUITEM "&Fondos de Ventana"
  43.       MENU
  44.          MENUITEM "PreDefined Styles"
  45.          MENU
  46.             MENUITEM "&Horizontal" ACTION SetBrush( "HORIZONTAL", nRGB( 0,   255,   0 ) )
  47.             MENUITEM "&Vertical"   ACTION SetBrush( "VERTICAL",   nRGB( 20,   30,  40 ) )
  48.             MENUITEM "&FDiagonal"  ACTION SetBrush( "FDIAGONAL",  nRGB( 255,   0,  35 ) )
  49.             MENUITEM "&BDiagonal"  ACTION SetBrush( "BDIAGONAL" )
  50.             MENUITEM "&Cross"      ACTION SetBrush( "CROSS" )
  51.             MENUITEM "&DiagCross"  ACTION SetBrush( "DIAGCROSS",  nRGB(   0, 100, 255 ) )
  52.          ENDMENU
  53.  
  54.          MENUITEM "FiveWin new Styles"
  55.          MENU
  56.             MENUITEM "&Borland" ACTION SetBrush( "BORLAND" )
  57.             MENUITEM "&Bricks"  ACTION SetBrush( "BRICKS" )
  58.             MENUITEM "&Tiled"   ACTION SetBrush( "TILED" )
  59.          ENDMENU
  60.  
  61.          MENUITEM "From a &Bitmap" ACTION BmpBrush()
  62.  
  63.          MENUITEM OemToAnsi( "Using &Colors" )
  64.          MENU
  65.             MENUITEM "&Negro"        ACTION Solido(   0,   0,   0 )
  66.             MENUITEM "&Gris"         ACTION Solido( 128, 128, 128 )
  67.             MENUITEM "Gris &Claro"   ACTION Solido( 192, 192, 192 )
  68.             MENUITEM "&Blanco"       ACTION Solido( 255, 255, 255 )
  69.             MENUITEM "&Rojo"         ACTION Solido( 128,   0,   0 )
  70.             MENUITEM "&Verde"        ACTION Solido(   0, 128,   0 )
  71.             MENUITEM "&Azul"         ACTION Solido(   0,   0, 128 )
  72.             MENUITEM "&Celeste"      ACTION Solido(   0, 128, 128 )
  73.             MENUITEM "A&marillo"     ACTION Solido( 128, 128,   0 )
  74.             MENUITEM "Mag&enta"      ACTION Solido( 128,   0, 128 )
  75.             MENUITEM "&Vd. mismo..." ACTION SelColor()
  76.          ENDMENU
  77.       ENDMENU
  78.    ENDMENU
  79.  
  80. RETURN oMenu
  81.  
  82. //---------------------------------------------------------------------------//
  83.  
  84. function SetBrush( cStyle, nRGBColor )
  85.  
  86.    local oBrush
  87.  
  88.    // FiveWin new predefined Brushes don't need colors
  89.    // Windows standard brushes support colors
  90.  
  91.    if nRGBColor == nil
  92.       DEFINE BRUSH oBrush STYLE ( cStyle )
  93.    else
  94.       DEFINE BRUSH oBrush STYLE ( cStyle ) COLOR nRGBColor
  95.    endif
  96.  
  97.    SET BRUSH OF oWnd TO oBrush
  98.  
  99. return nil
  100.  
  101. //---------------------------------------------------------------------------//
  102.  
  103. function BmpBrush()
  104.  
  105.    local cBitmap := cGetFile( "*.bmp", "Seleccione un Bitmap" )
  106.    local oBrush
  107.  
  108.    if ! Empty( cBitmap )
  109.  
  110.       DEFINE BRUSH oBrush FILE cBitmap
  111.  
  112.       SET BRUSH OF oWnd TO oBrush
  113.  
  114.    endif
  115.  
  116. return nil
  117.  
  118. //---------------------------------------------------------------------------//
  119.  
  120. procedure Solido( nR, nG, nB )
  121.  
  122.    local oBrush
  123.  
  124.    DEFINE BRUSH oBrush COLOR nRGB( nR, nG, nB )
  125.  
  126.    SET BRUSH OF oWnd TO oBrush
  127.  
  128. return
  129.  
  130. //----------------------------------------------------------------------------//
  131.  
  132. function CreaHija()
  133.  
  134.    local oWndTools, oWndDraw
  135.  
  136.    DEFINE WINDOW oWndTools FROM 2, 2 TO 24, 12 OF oWnd
  137.  
  138.    ACTIVATE WINDOW oWndTools ;
  139.       ON PAINT Draw( oWndTools, "..\bitmaps\Tools.bmp" )
  140.  
  141.    DEFINE WINDOW oWndDraw FROM 2, 22 TO 25, 52 OF oWnd
  142.  
  143.    ACTIVATE WINDOW oWndDraw ;
  144.       ON PAINT Draw( oWndDraw, "Draw.bmp" )
  145.  
  146. return nil
  147.  
  148. //----------------------------------------------------------------------------//
  149.  
  150. function Draw( oWndC, cBitmap )
  151.  
  152.    local hBitmap
  153.  
  154.    oWndC:GetDC()
  155.  
  156.    hBitmap = ReadBitmap( oWndC:hDC, cBitmap )
  157.    DrawBitmap( oWndC:hDC, hBitmap, 0, 0 )
  158.  
  159.    oWndC:ReleaseDC()
  160.  
  161.    DeleteObject( hBitmap )
  162.  
  163. return nil
  164.  
  165. //----------------------------------------------------------------------------//
  166.  
  167. function SelColor()
  168.  
  169.    local oBrush
  170.  
  171.    DEFINE BRUSH oBrush COLOR ChooseColor()
  172.  
  173.    SET BRUSH OF oWnd TO oBrush
  174.  
  175. return nil
  176.  
  177. //----------------------------------------------------------------------------//
  178.