텍스트 편집 컨트롤을 프로그래밍 방식으로 추가 방법

기술 자료 번역 기술 자료 번역
기술 자료: 109550 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

요약

Windows 기반 응용 프로그램을 자주 편집 컨트롤의 텍스트를 표시하는 데 사용합니다. 이러한 응용 프로그램은 기존 텍스트를 바꾸지 대신 편집 컨트롤 끝에 텍스트를 추가할 하는 경우가 있습니다. Windows에서 이를 위해 두 가지 방법으로 다음과 같습니다.
  • EM_SETSEL 및 EM_REPLACESEL 메시지를 사용하십시오.
  • 클립보드 함수를 사용하여 EM_SETSEL 메시지를 편집 컨트롤을 버퍼에 텍스트를 추가할 수 있습니다.

추가 정보

참고: 16 비트 버전과 32 비트 버전 사이의 다른 EM_SETSEL 메시지에 대한 메시지 매개 변수가 없으므로 다음 코드를 Win32 매크로 16 또는 32 비트 응용 프로그램의 경우 빌드 시에 확인하는 예제입니다.

Windows edit 컨트롤에 있는 선택한 범위의 텍스트 배치하려면 EM_SETSEL 메시지를 사용할 수 있습니다. 범위의 시작과 끝 위치를 동일한 위치로 설정하면 선택된 내용이 및 캐럿 해당 위치에 배치할 수 있습니다. Windows 편집 컨트롤의 텍스트 끝에 캐럿 놓고 편집 컨트롤에 포커스를 설정할 다음을:
   HWND hEdit = GetDlgItem (hDlg, ID_EDIT);
   int ndx = GetWindowTextLength (hEdit);
   SetFocus (hEdit);
   #ifdef WIN32
      SendMessage (hEdit, EM_SETSEL, (WPARAM)ndx, (LPARAM)ndx);
   #else
      SendMessage (hEdit, EM_SETSEL, 0, MAKELONG (ndx, ndx));
   #endif
편집 컨트롤의 끝에 캐럿을 배치할 일단 편집 컨트롤의 텍스트를 추가할 수 있는 EM_REPLACESEL 사용할 수 있습니다. 응용 프로그램 lpszReplace (lParam) 매개 변수에 의해 지정된 텍스트 편집 컨트롤의 현재 선택 영역을 대체합니다 EM_REPLACESEL 메시지를 보냅니다. 현재 선택 때문에 대체 텍스트가 현재 캐럿 위치에 삽입됩니다. 이 예제에서는 편집 컨트롤에 끝에 선택 설정하고 버퍼에 텍스트를 삽입합니다:
   #ifdef WIN32
      SendMessage (hEdit, EM_SETSEL, (WPARAM)ndx, (LPARAM)ndx);
   #else
      SendMessage (hEdit, EM_SETSEL, 0, MAKELONG (ndx, ndx));
   #endif
      SendMessage (hEdit, EM_REPLACESEL, 0, (LPARAM) ((LPSTR) szBuffer));
				
편집 컨트롤에 텍스트를 삽입하는 다른 방법은 Windows 클립보드를 사용하는 것입니다. 다음 응용 프로그램을 열 클립보드 또는 클립보드, 열려면 편리한 발견한 텍스트를 클립보드에 복사하는 경우 편집 컨트롤에 텍스트를 추가하려면 WM_PASTE 메시지를 보내기 수 있습니다. 물론, 클립보드에 있는 모든 데이터가 손실됩니다.

WM_PASTE 메시지를 보내기 전에 캐럿은 사용하여 EM_SETSEL 메시지 편집 컨트롤의 텍스트 끝에 배치해야 합니다. 다음은 이 메서드를 구현하는 방법을 보여 주는 "의사" 코드입니다:
   OpenClipBoard () ;
   EmptyClipBoard() ;
   SetClipBoardData() ;

   #ifdef WIN32
      SendMessage (hEdit, EM_SETSEL, (WPARAM)ndx, (LPARAM)ndx);
   #else
      SendMessage (hEdit, EM_SETSEL, 0, MAKELONG (ndx, ndx));
   #endif
      SendMessage (hEdit, WM_PASTE,   0, 0L);
				
이 "의사" 코드 편집 컨트롤의 끝에 텍스트를 추가합니다. 참고 CF_TEXT 형식으로 클립보드에 클립보드에 있는 데이터가 있어야 합니다.

속성

기술 자료: 109550 - 마지막 검토: 2005년 7월 11일 월요일 - 수정: 1.3
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Platform Software Development Kit-January 2000 Edition
  • Microsoft Windows Software Development Kit 3.1
키워드:?
kbmt kbctrl kbeditctrl kbhowto KB109550 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com