차이점

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

차이 보기로 연결

combobox [2012/07/24 15:16] (현재)
admin 새로 만듦
줄 1: 줄 1:
 +== 명령어 설명 ==
 +
 +<code>
 +REDEFINE COMBOBOX [ <oCbx> VAR ] <cVar> ;
 +             [ <items: PROMPTS, ITEMS> <aItems> ] ;
 +             [ ID <nId> ] ;
 +             [ <dlg:OF,WINDOW,DIALOG> <oWnd> ] ;
 +             [ <help:HELPID, HELP ID> <nHelpId> ] ;
 +             [ ON CHANGE <uChange> ] ;
 +             [ VALID   <uValid> ] ;
 +             [ <color: COLOR,COLORS> <nClrText> [,<nClrBack>] ] ;
 +             [ <update: UPDATE> ] ;
 +             [ MESSAGE <cMsg> ] ;
 +             [ WHEN <uWhen> ] ;
 +             [ BITMAPS <acBitmaps> ] ;
 +             [ ON DRAWITEM <uBmpSelect> ] ;
 +             [ STYLE <nStyle> ] ;
 +             [ PICTURE <cPicture> ];
 +             [ ON EDIT CHANGE <uEChange> ] ;
 +</code>
 +
 +== DATA ==
 +
 +<code>
 +aItems 리스트 박스 항목의 배열
 +aBitbmaps 비트맵의 배열
 +lOwnerDraw 객체가 자신을 그리는지
 +nBmpHeight 리스트 박스가 OwnerDraw인 경우의 비트맵의 높이
 +nBmpWidth 리스트 박스가 OwnerDraw인 경우의 비트맵의 폭
 +nAt 리스트에 대한 인덱스
 +bDrawItem 항목을 표현하기 위한 코드 블럭
 +bCloseUp
 +cError 에러값
 +oGet 콤보 박스가 받을 Get 객체
 +</code>
 +
 +== METHOD ==
 +<code>
 +Add 리스트에 항목을 추가
 + Add( cItem, nAt )
 +Change() 변경된 이벤트 처리기
 +cToChar() 다이얼로그를 만들기 위한 데이터 템플릿 생성
 +CloseUp() CloseUP event response
 +Default() 기본값 초기화
 + DefControl( oControl )
 +Del( nAt ) 항목을 삭제
 +Destroy() 콤보 박스를 파괴한다.
 +DrawItem 항목을 표현
 + DrawItem( nIdCtl, nPStruct )
 +FillMeasure 일반적인 Fill Measure 메소드
 + FillMeasure( nPInfo ) 
 +FindString 인덱스에 의한 지정 문자열 위치을 돌려줌.
 + FindString( cItem, nFrom )
 +Find 지정한 문자열이 있는지 확인함.
 + Find( cItem, nFrom ) 
 +Initiate(hDlg) 일반적인 초기화
 +Insert 항목을 삽입
 + Insert( cItem, nAt )
 +LostFocus() 초점 상실시의 수행 행동
 +lValid() Valid 조건을 검사
 +Modify 한 항목의 텍스트를 변경
 + Modify( cItem, nAt )
 +MouseMove 마우스를 위로 움직였을 때의 수행 행동
 + MouseMove( nRow, nCol, nKeyFlags )
 +Open() 콤보 박스를 열어 준다.
 +Close() 콤보 박스를 닫아 준다.
 +Refresh() 컨트롤이 재 페인트 되도록 한다.
 +Reset() 콤보 박스의 모든 내용과 배열 aItems를 비운다.
 +Select 인덱스에 의하여 콤보 박스의 리스트 박스내의 문자열을 선택
 + Select( nItem )
 +Set 텍스트에 의하여 콤보 박스의 리스트 박스내의 문자열을 선택
 + Set( cNewItem )
 +SetBitmaps 비트맵의 정의
 + SetBitmaps( acBitmaps )
 +SetItems 콤보 박스내에 보여지는 항목들을 변경
 + SetItems( aItems )
 +ShowToolTip()
 +VarGet() 관련된 변수값을 다시 로드한다.
 +Enable()      활성화
 +Disable()      비활성화 
 +GotFocus()    촛점을 받을 때 색상 변경 
 +KeyChar      키를 눌렀을때의 행동
 + KeyChar( nKey, nFlags )
 +KeyDown Left Key는 직전 Get으로 이동, Right는 다음 Get으로 이동
 + KeyDown ( nKey, nFlags )
 +</code>
 +
 +콤보 박스 클래스는 리스트 박스와 편집 콘트롤의 조합인 박스에 사용되며 리스트 박스는 항상 표시되거나 또는 편집 콘트롤 옆의 드롭다운 버튼을 클릭함으로써 드롭 시킬 수 있다. 편집 콘트롤은 사용자 입력을 허용할 수도 허용하지 않을 수도 있다.
 +
 +DROPDOWN : 편집 콘트롤 옆의 드롭다운 화살표를 사용자가 선택했을 때에만 리스트 박스가 표시되는 콤보 박스로 편집 콘트롤은 현재 선택 내용을 표시해 준다. 편집 콘트롤에서 내용 정정이 가능하다.
 +
 +DROPDOWNLIST : 현재의 선택을 표시하는 편집 콘트롤 대신 정정 텍스트 항목을 갖는 리스트 박스가 있는 콤보박스로 이 리스트 박스는 사용자가 정적 텍스트 옆의 드롭다운 화살표를 선택한 경우에만 표시된다.
 +
 +SIMPLE : 리스트 박스가 항상 표시되는 콤보 박스로 편집 콘트롤은 리스트 박스의 현재 선택 사항을 표시한다.
 +
 +
 +NSAMPLES\COMBOBOX\SAMCMB.PRG 참조
 +
 +{{:0068.jpg|}}
 +
 +<code>
 +#include "Npp.ch"
 +
 +FUNCTION MAIN()
 +
 +     Local oDlg, oBut[2]
 +     Local oGet[3]
 +     Local cCode1  := "CO01"
 +     Local cCode2  := "CO02"
 +     Local cCode3  := "CO03"
 +     Local aCode   := {"CO01","CO02","CO03","CO04","CO05"}
 +
 +     SET _3DLOOK ON
 +     SET RESOURCES TO "SAMCMB.DLL"
 +
 +     DEFINE DIALOG oDlg RESOURCE "D_CMB"
 +
 +       REDEFINE COMBOBOX oGet[1] VAR cCode1 ITEMS aCode ID 2001 OF oDlg
 +       REDEFINE COMBOBOX oGet[2] VAR cCode2 ITEMS aCode ID 2002 OF oDlg
 +       REDEFINE COMBOBOX oGet[3] VAR cCode3 ITEMS aCode ID 2003 OF oDlg
 +
 +       REDEFINE BUTTON oBut[1] ID 3001 OF oDlg ;
 +                ACTION MsgInfo( cCode1 + " " + cCode2 + " " + cCode3  )
 +
 +       REDEFINE BUTTON oBut[2] ID 3002 OF oDlg ACTION oDlg:End()
 +
 +     ACTIVATE DIALOG oDlg CENTERED
 +
 +     SET RESOURCES TO
 +
 +Return Nil
 +</code>
 +
 +NSAMPLES\COMBOBOX\SAMCMB2.PRG 참조
 +
 +{{:0069.jpg|}}
 +
 +<code>
 +#include "Npp.ch"
 +
 +FUNCTION MAIN()
 +
 +     Local oDlg, oCbx, oSayItem, oSayAt
 +     Local cItem := ""
 +
 +     SET _3DLOOK ON
 +     SET RESOURCES TO "SAMCMB2.DLL"
 +
 +     DEFINE DIALOG oDlg RESOURCE "TestCombo"
 +
 +            REDEFINE COMBOBOX oCbx VAR cItem                 ;
 +                     ITEMS { "Testing", "this", "ComboBox" } ;
 +                     ID 110 OF oDlg                          ;
 +                     ON CHANGE ( oSayItem:cTitle := cItem,   ;
 +                                 oSayAt:cTitle   := "nAt =" + Str( oCbx:nAt, 2 ) ) ;
 +                     VALID ( MsgBeep(), .t. )
 +
 +            REDEFINE SAY oSayItem ID 1001 OF oDlg
 +            REDEFINE SAY oSayAt   ID 1002 OF oDlg
 +
 +            REDEFINE BUTTON ID 3001 OF oDlg ACTION oCbx:Reset()
 +            REDEFINE BUTTON ID 3002 OF oDlg ;
 +                     ACTION oCbx:SetItems( { "Let's", "Set", "a new", "List" } )
 +            REDEFINE BUTTON ID 3003 OF oDlg ACTION MsgInfo( Str( oCbx:nAt ) )
 +            REDEFINE BUTTON ID 3004 OF oDlg ACTION oDlg:End()
 +
 +     ACTIVATE DIALOG oDlg CENTERED
 +     SET RESOURCES TO
 +
 +Return Nil
 +</code>
  
 

Link categories 1

Link categories 2