WM_COPY

인수

인수없음

설명

에디트 컨트롤(또는 콤보 박스의 에디트)로 보내지는 메시지이며 선택 영역을 복사하도록 한다. 클립보드에는 CF_TEXT 포맷의 문자열이 들어간다. 에디트 컨트롤이 없는 CBS_DROPDOWNLIST 콤보 박스에는 아무런 효과도 없다.

리턴

리턴값 없음

예제

예제 1

다음 예제는 에디트를 하나 만들고 메인 메뉴를 통해 에디트의 클립보드 액션을 사용한다. 클립보드 관련 메시지를 SendMessage 함수로 에디트 컨트롤에게 보내 주기만 하면 된다.

HWND hEdit;
LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
	switch(iMessage) {
	case WM_CREATE:
		hEdit=CreateWindow("edit","에디트의 클립보드 기능을 테스트합니다",
			WS_CHILD | WS_VISIBLE | ES_MULTILINE,
			20,20,300,300,hWnd,(HMENU)0,g_hInst,NULL);
		return 0;
	case WM_SETFOCUS:
		SetFocus(hEdit);
		return 0;
	case WM_SIZE:
		MoveWindow(hEdit,0,0,LOWORD(lParam),HIWORD(lParam),TRUE);
		return 0;
	case WM_COMMAND:
		switch (LOWORD(wParam)) {
		case IDM_EDIT_CUT:
			SendMessage(hEdit,WM_CUT,0,0);
			break;
		case IDM_EDIT_COPY:
			SendMessage(hEdit,WM_COPY,0,0);
			break;
		case IDM_EDIT_PASTE:
			SendMessage(hEdit,WM_PASTE,0,0);
			break;
		case IDM_EDIT_CLEAR:
			SendMessage(hEdit,WM_CLEAR,0,0);
			break;
		}
		return 0;
	case WM_DESTROY:
		PostQuitMessage(0);
		return 0;
	}
	return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}

실행중의 모습은 다음과 같다.

플랫폼

95이상

참조

 


written by http://www.winapi.co.kr