기억하자정보/기타
[API]LoadCursor,SetCursor사용
LANIAN
2006. 12. 4. 11:46
. SetCursor
1. 특성
이 함수는 커서의 모양을 바꿔준다. 보통 WM_SETCURSOR 메세지나 WM_MOUSEMOVE 메세지를 처리할 때 사용된다.
물론 델파이에서는 이것보다 더 편리한 기능을 제공하지만, 여기서는 API 로 커서를 바꾸는 방법을 알아보자.
커서의 모양은 LoadCursor 함수로 읽어야 한다.
2. 구문
SetCursor(hCursor : HIcon) : HIcon ;
hCursor -> 보여 주고자 하는 커서에 대한 핸들.
B. LoadCursor
1. 특성
이 함수는 실행파일(*.exe)이나 DLL 파일에서 정한 커서 리소스(Icon)를 읽어온다.
2. 구문
LoadCursor(hInstance : HInst ; lpCursorName : PChar) : HIcon ;
hInstance : 모듈의 인스턴스 핸들. 이 모듈의 실행 파일에는 로드될 커서가 들어있다.
미리 정의된 커서 모양을 읽어 들일 경우에는 0으로 설정된다.
lpCursorName -> 로드될 커서 리소스의 이름을 정해준다.
미리 정의된 커서 모양을 읽어 들일 경우에는 아래 속성(ID)을 써 넣으면 된다.
< 미리 정의된 커서의 ID >
IDC_APPSTARTING : 표준 화살표와 작은 모래시계
IDC_ARROW : 표준 화살표
IDC_CROSS : 가는 십자 모양
IDC_IBEAM : 텍스트의 I자 모양의 막대
IDC_ICON : 빈 아이콘
IDC_NO : 속에 중심을 가로지르는 사선이 있는 원
IDC_SIZE : 네 방향으로 화살촉이 있는 십자모양
IDC_SIZEALL : IDC_SIZE 와 같음
IDC_SIZENESW : 북동쪽과 남서쪽을 가리키는 양방향 화살표
IDC_SIZENS : 북쪽과 남쪽을 가리키는 양방향 화살표
IDC_SIZENWSE : 북서쪽과 남동쪽을 가리키는 양방향 화살표
IDC_SIZEWE : 서쪽과 동쪽을 가리키는 양방향 화살표
IDC_UPARROW : 위쪽을 가리키는 화살표
IDC_WAIT : 모래시계
C. 사용 방법 - SetCursor 와 LoadCursor 의 조합
Setcursor(Loadcursor(0 , IDC_WAIT));
Setcursor(Loadcursor(0 , IDC_CROSS));
Setcursor(Loadcursor(0 , IDC_IBEAM));
Setcursor(Loadcursor(0 , IDC_UPARROW));
-> 이런 식으로 사용하시면 됩니다.
1. 특성
이 함수는 커서의 모양을 바꿔준다. 보통 WM_SETCURSOR 메세지나 WM_MOUSEMOVE 메세지를 처리할 때 사용된다.
물론 델파이에서는 이것보다 더 편리한 기능을 제공하지만, 여기서는 API 로 커서를 바꾸는 방법을 알아보자.
커서의 모양은 LoadCursor 함수로 읽어야 한다.
2. 구문
SetCursor(hCursor : HIcon) : HIcon ;
hCursor -> 보여 주고자 하는 커서에 대한 핸들.
B. LoadCursor
1. 특성
이 함수는 실행파일(*.exe)이나 DLL 파일에서 정한 커서 리소스(Icon)를 읽어온다.
2. 구문
LoadCursor(hInstance : HInst ; lpCursorName : PChar) : HIcon ;
hInstance : 모듈의 인스턴스 핸들. 이 모듈의 실행 파일에는 로드될 커서가 들어있다.
미리 정의된 커서 모양을 읽어 들일 경우에는 0으로 설정된다.
lpCursorName -> 로드될 커서 리소스의 이름을 정해준다.
미리 정의된 커서 모양을 읽어 들일 경우에는 아래 속성(ID)을 써 넣으면 된다.
< 미리 정의된 커서의 ID >
IDC_APPSTARTING : 표준 화살표와 작은 모래시계
IDC_ARROW : 표준 화살표
IDC_CROSS : 가는 십자 모양
IDC_IBEAM : 텍스트의 I자 모양의 막대
IDC_ICON : 빈 아이콘
IDC_NO : 속에 중심을 가로지르는 사선이 있는 원
IDC_SIZE : 네 방향으로 화살촉이 있는 십자모양
IDC_SIZEALL : IDC_SIZE 와 같음
IDC_SIZENESW : 북동쪽과 남서쪽을 가리키는 양방향 화살표
IDC_SIZENS : 북쪽과 남쪽을 가리키는 양방향 화살표
IDC_SIZENWSE : 북서쪽과 남동쪽을 가리키는 양방향 화살표
IDC_SIZEWE : 서쪽과 동쪽을 가리키는 양방향 화살표
IDC_UPARROW : 위쪽을 가리키는 화살표
IDC_WAIT : 모래시계
C. 사용 방법 - SetCursor 와 LoadCursor 의 조합
Setcursor(Loadcursor(0 , IDC_WAIT));
Setcursor(Loadcursor(0 , IDC_CROSS));
Setcursor(Loadcursor(0 , IDC_IBEAM));
Setcursor(Loadcursor(0 , IDC_UPARROW));
-> 이런 식으로 사용하시면 됩니다.