이것은 문서의 이전 버전입니다!


        DEFINE WINDOW [<oWnd>]
                     [ FROM <nTop>, <nLeft> TO <nBottom>, <nRight> ]     ;
                     [ TITLE <cTitle> ]                                  ;
                     [ COLOR, COLORS <nClrFore> [,<nClrBack>] ]          ;
                     [ BRUSH <oBrush> ]                                  ;         
                     [ CURSOR <oCursor> ]                                ;
                     [ ICON  <oIcon> ]                                   ;
                     [ MENU <oMenu> ]                                    ;
                     [ STYLE <nStyle> ]                                  ;
                     [ BORDER <border: NONE, SINGLE> ]                   ;
                     [ NOSYSMENU, NO SYSMENU ]                           ;
                     [ NOCAPTION, NO CAPTION, NO TITLE ]                 ;
                     [ NOICONIZE, NOMINIMIZE ]                           ;
                     [ NOZOOM, NO ZOOM, NOMAXIMIZE, NO MAXIMIZE ]        ;
                     [ VSCROLL, VERTICAL SCROLL ]                        ;
                     [ HSCROLL, HORIZONTAL SCROLL ]                      ; 

윈도우 BRUSH는 윈도우 바탕화면을 장식하는 옵션으로 DEFINE BRUSH로 정의된 oBrush OBject(객체이름, 프로그래머가 임의로 정함)를 사용합니다.

Brush사용법
DEFINE BRUSH  oBrush 			;
       STYLE cStyle      		;
       COLOR nRGBColor  		;	
       FILE,FILENAME,DISK cBmpFile 	;
       RESOURCE,NAME,RESNAME cBmpRes 

STYLE      기본적으로 제공하는 모양으로 종류는 아래 표와 같습니다.

COLOR      Brush색으로 COLOR의 단독 사용도 가능합니다.

FILE       기본 스타일 외에 쓸 Bitmap File

RESOURCE    기본 스타일 외에 쓸 Bitmap Resource(DLL파일에 포함된 Bitmap)

 

 

SET BRUSH	 [ OF <oWnd> ]  [ TO <oBrush> ] 

oWnd에 oBrush를 설정합니다.

Brush는 사용 후 Brush를 사용한 프로그램의 종료가 있을 때는 꼭 End Method를 호출해 메모리에서 삭제 해주어야 합니다.

삭제 방법 : Brush:End()

 

NSAMPLES\WINDOW\TESTBRUS.PRG 참조

#include "npp.ch"

Static oWnd
Static oBrush

Function Main()
         DEFINE BRUSH oBrush STYLE ( "BORLAND" )   // Borland Style Brush 정의
         DEFINE WINDOW oWnd FROM 1, 1 TO 20, 70	;
                TITLE "Brush 예제입니다."       	;
                MENU BuildMenu()                	;
                BRUSH oBrush        // Brush를 설정합니다.
         ACTIVATE WINDOW oWnd  

         if oBrush <> Nil
            oBrush:End()           // Brush사용 후 필히 End()사용
         endif
Return Nil

Function BuildMenu()
         Local oMenu
         MENU oMenu
              MENUITEM "Brush"
              MENU
                 MENUITEM "&Horizontal"  					;
                    ACTION SetBrush( "HORIZONTAL", nRGB( 0,   255,   0 ) )
                 MENUITEM "&Vertical"    					;
                    ACTION SetBrush( "VERTICAL",   nRGB( 20,   30,  40 ) )
                 MENUITEM "&FDiagonal"   					;
                    ACTION SetBrush( "FDIAGONAL",  nRGB( 255,   0,  35 ) )
                 MENUITEM "&BDiagonal"   					;
                    ACTION SetBrush( "BDIAGONAL" )
                 MENUITEM "&Cross"       					;
                    ACTION SetBrush( "CROSS" )
                 MENUITEM "&DiagCross"   					;
                    ACTION SetBrush( "DIAGCROSS",  nRGB(   0, 100, 255 ) )
              ENDMENU
     MENUITEM "다른 Brush!"
              MENU
                  MENUITEM "&Borland" ACTION SetBrush( "BORLAND" )
                  MENUITEM "&Bricks"  ACTION SetBrush( "BRICKS" )
                  MENUITEM "&Tiled"   ACTION SetBrush( "TILED" )
                  MENUITEM "&Tabs"    ACTION SetBrush( "TABS" )
              ENDMENU
              MENUITEM "Bitmap으로..." ACTION BmpBrush()
              MENUITEM "색Brush"
              MENU
                 MENUITEM "검은색"    ACTION Solido(   0,   0,   0 )
                 MENUITEM "회색"      ACTION Solido( 128, 128, 128 )
                 MENUITEM "밝은회색"  ACTION Solido( 192, 192, 192 )
                 MENUITEM "흰색"      ACTION Solido( 255, 255, 255 )
                 MENUITEM "빨간색"    ACTION Solido( 128,   0,   0 )
              ENDMENU
   ENDMENU
Return oMenu

Function SetBrush( cStyle, nRGBColor )
         if oBrush <> Nil  ;   oBrush:End()  ;   endif
         if nRGBColor == Nil                      // Color설정이 없으면
            DEFINE BRUSH oBrush STYLE ( cStyle )  // Style Brush만 만듭니다.
         else
            DEFINE BRUSH oBrush STYLE ( cStyle ) COLOR nRGBColor
            // nRGBColor의 Brush 생성
         endif

         SET BRUSH OF oWnd TO oBrush      // oWnd에 oBrush설정

Return Nil

Function BmpBrush()
         Local cBitmap := cGetFile( "*.bmp", "그림을 골라주세요~" ) // File선택 상자

         if ! Empty( cBitmap )
            if oBrush <> Nil
               oBrush:End()
            endif
            DEFINE BRUSH oBrush FILE cBitmap
            SET BRUSH OF oWnd TO oBrush
         endif

Return Nil


// Color Brush를 만드는 함수입니다.
Function Solido( nR, nG, nB )
         if oBrush <> Nil
            oBrush:End()
         endif

         DEFINE BRUSH oBrush COLOR nRGB( nR, nG, nB )
         SET BRUSH OF oWnd TO oBrush
Return Nil

Function SelColor()

         if oBrush <> Nil ;  oBrush:End()  ;   endif
         DEFINE BRUSH oBrush COLOR ChooseColor()
         SET BRUSH OF oWnd TO oBrush

Return Nil
 

Link categories 1

Link categories 2