차이점

이 페이지의 선택한 이전 버전과 현재 버전 사이의 차이점을 보여줍니다.

차이 보기로 연결

mdi_어플리케이션 [2012/07/23 19:52]
admin
mdi_어플리케이션 [2012/07/24 13:52] (현재)
admin
줄 358: 줄 358:
  
 NSAMPLES\MDI\MDI3.PRG 참조 NSAMPLES\MDI\MDI3.PRG 참조
 +
 +{{:0058.jpg|}}
 +
 +<code>
 +#include "npp.ch"
 +
 +Static oWnd
 +Static oBar
 +Static oFont
 +Static oSub1
 +Static oSub2
 +Static oTask
 +
 +FUNCTION Main()
 +   LOCAL oMenu := MenuBuild()
 +
 +   USE TEST1 NEW SHARED ALIAS TEST1
 +
 +   oFont := Dr_Font(9)
 +
 +   DEFINE WINDOW oWnd MDI                    ;
 +     TITLE "** MDI & OUTLOOK 연습 **"        ;
 +     MENU  oMenu
 +
 +      oWnd:oWndClient:SetLogo( "B_LOGO" )  // 윈도우 바탕 그림
 +
 +      DrawBar()                            // 버튼바 생성
 +      DrawOutLook()                        // OutLook 스타일 메뉴 생성
 +
 +      oTask :=  Dr_SetDocTaskBar( oBar )
 +/*    임의의 메뉴를 클릭하면 작업창을 띄우고, 버튼바의 Task창에 자동적으로 »
 +      등록해주며 그 메뉴는 disable됩니다.
 +      작업창을 종료하기 전까지는 그 메뉴에 해당되는 창을 활성화시키려면
 +      Task창에서 해당메뉴를 클릭하면 됩니다.
 +*/
 +
 +   ACTIVATE WINDOW oWnd MAXIMIZED
 +
 +   oFont:End()
 +   TEST1->( dbClosearea() )
 +
 +RETURN NIL
 +
 +
 +STATIC FUNCTION MenuBuild()
 +   LOCAL oMenu
 +
 +   MENU oMenu
 +      MENUITEM oSub1 PROMPT "MDI_1" ACTION Sub1On( oSub1 )
 +      MENUITEM oSub2 PROMPT "MDI_2" ACTION Sub2On( oSub2 )
 +   ENDMENU
 +
 +RETURN oMenu
 +
 +
 +STATIC FUNCTION DrawBar()
 +
 +   DEFINE BUTTONBAR oBar OF oWnd SIZE 30,35 _3D
 +     DEFINE BUTTON RESOURCE "B_EXIT" OF oBar ACTION oWnd:End()
 +
 +   oBar:SetFont( oFont )
 +
 +RETURN NIL
 +
 +STATIC FUNCTION Sub1On( oMenu )
 +   LOCAL oWnd, oDlg, oGet
 +   LOCAL cGet := space(20)
 +
 +   oWnd := Dr_DockWin( "Sub1",oMenu,.t., {|oWnd| DrawSubBtn( oWnd )} )
 +/*
 +   Dr_DockWin( cTitle, oMenu, lWindow, bDrawBar )
 +               cTitle  : NDI윈도우 제목
 +               oMenu   : 메뉴 객체명
 +               lWindow : Border style 유무
 +               bDrawBar: 버튼바 만드는 함수/class 지정
 +*/
 +
 +   DEFINE DIALOG oDlg FROM 0,0 TO 20,80 OF oWnd ;
 +          STYLE WS_CHILD
 +
 +          @ 1,1 GET oGet VAR cGet OF oDlg
 +
 +   ACTIVATE DIALOG oDlg NOWAIT
 +
 +   Dr_ActiveDoc( oWnd, oDlg )
 +
 +// Dr_DockWin()와 Dr_Activedoc()는 한 쌍을 이룬다.
 +
 +RETURN NIL
 +
 +
 +STATIC FUNCTION DrawSubBtn( oWnd )
 +   LOCAL oBar
 +
 +   DEFINE BUTTONBAR oBar SIZE 30,30 OF oWnd _3D
 +
 +   DEFINE BUTTON RESOURCE "B_EXIT" OF oBar ACTION oWnd:End()
 +
 +RETURN NIL
 +
 +
 +STATIC FUNCTION Sub2On( oMenu )
 +   LOCAL oWnd, oDlg, oBrw
 +   LOCAL cGet := space(20)
 +
 +   oWnd := Dr_DockWin( "Sub2",oMenu,.t.)
 +
 +   DEFINE DIALOG oDlg RESOURCE "D_DLG2" oF oWnd
 +
 +   TEST1 -> ( dbGoTop() )
 +   SetHPlus ( 8 )
 +   REDEFINE BROWSE oBrw ID 4001 OF oDlg  ;
 +            ALIAS TEST1
 +
 +            oBrw:SetBkGrdClr( 4, 7, 1, CLR_WHITE, CLR_BLACK )
 +            oBrw:lNoHScroll := .t.
 +
 +            ADD TO oBrw DATA TEST1->ITEM  TITLE "품목" SIZE 100
 +            ADD TO oBrw DATA TEST1->EA    TITLE "개수" PICTURE "999,999" SIZE 100
 +            ADD TO oBrw DATA TEST1->UNIT  TITLE "금액" PICTURE "999,999" SIZE 100
 +            ADD TO oBrw DATA TEST1->TOTAL TITLE "총액" PICTURE "999,999" SIZE 150
 +
 +   ACTIVATE DIALOG oDlg NOWAIT
 +
 +   Dr_ActiveDoc( oWnd, oDlg )
 +
 +RETURN NIL
 +
 +
 +STATIC FUNCTION DrawOutLook()
 +
 +   LOCAL oOutLook
 +
 +   oOutLook := TDrOutLook():New( 0, 1, 100, 100,,,,oFont,.t., oWnd )
 +/*
 +   [<oOut> := ] TDrOutLook():New( <nRow>, <nCol>, ;
 +                <nWidth>, <nHeight>, <cBmp>, <cResBmp>, ;
 +                <nClrFore>, <nClrBack>, <nStyle>, <oBrush>, <oFont>, ;
 +                <.lPixel.>, <cMsg>, <oWnd>, <nHelpId>, ;
 +                [{|nRow,nCol,nFlags|<uRClicked>}] )
 +*/
 +
 +   oOutLook:lAutoAdjust := .t.
 +   oOutLook:SetColor ( CLR_BLACK, nRGB ( 222,219,214) )
 +
 +   oOutLook:AddGroup("주문",,,oFont)
 +   oOutLook:AddGroup("마감",,,oFont)
 +   oOutLook:AddGroup("기초",,,oFont)
 +/*
 +    <oOut>:AddGroup( <cPrompt>, [{|Self|<uAction>}], ;
 +                     [{|Self|<bWhen>}], <cMsg>, <oFont> )
 +*/
 +
 +   oOutLook:AddItem( "주문하기",, "B_TOOLS", {|| MsgInfo("주문하기") }, 1 )
 +   oOutLook:AddItem( "신규고객",, "B_NEW",   {|| MsgInfo("신규고객") }, 1 )
 +
 +   oOutLook:AddItem( "마감출력",, "B_PRINT", {|| MsgInfo("마감출력") }, 2 )
 +
 +   oOutLook:AddItem( "작업종료",, "B_EXIT",  {|| oWnd:End() }, 3 )
 +/*
 +   <oOut>:AddItem( <cPrompt>, <cIcon>, <cResIco>, ;
 +                   [{|Self|<uAction>}], <nGroup>, ;
 +                   [{|Self|<bWhen>}], <cMsg>, ;
 +                   [{|nRow,nCol,nFlags|<uRClicked>}], <oFont>, ;
 +                   <.lAdjust.>, <.lBorder.>, <cToolTip>, .t. )
 +*/
 +
 +RETURN NIL
 +
 +
 +INIT FUNCTION App_init()
 +
 +   SET RESOURCES TO "MDI3.DLL"
 +
 +RETURN NIL
 +</code>
  
  
 

Link categories 1

Link categories 2