....................................................................
OutPut Group Study in API (Application Programming Interface)
STUDY #3 : Icon & Cursor by USER & TIMER
Typed by Jo.K.M 1997/12/16 01:51
....................................................................
* : 참고 >>> : 참고 어휘 pn : 파라미터
(1) 사용자 아이콘 커서 이용하기
===========================================
윈도가 사용하는 여러 자료를 모아 정리한 파일을 리소스 파일이라고 하는데
메뉴나 대화상자, 비트맵, 아이콘을 이곳에서 정의 하지요. 그리고 우리가
직접 만든 그림을 아이콘으로 사용할라면 리소스 파일에 정의를 해야합니다.
* 컴파일시 Insert/Files into Project 로 리소스 파일도 포함해야 합니다.
.....< test.rc >...........................
#include <windows.h>
MyIcon ICON "my.ico"
MyCursor CURSOR "my.cur"
...........................................
......< api.c >............................
:
첫번째 부분
WndClass.hIcon = LoadIcon(hInstance,"MyIcon");
WndClass.hCursor = LoadCursor(hInstance,"MyCursor");
:
...........................................
(2). 타이머 사용하기
=============================================
타이머란 정해진 만큼의 시간간격을 주기로 신호를 보내는 것을 말합니다.
API에서는 SetTimer()를 통해 타이머 아이디를 얻은후 WM_TIMER의 메세지를
통해서 이를 이용하게 됩니다.
UINT SetTimer( HWND hwnd, UINT idTimer, UINT uTimeout, TIMERPROC tmprc );
p1 hwnd - 윈도 핸들
p2 idTimer - 타이머 아이디 (핸들,고유 번호)
uTimeout - 타이머 발생 주기 시간 nTimer * 1000 = 1 sec
tmprc - 타이머 발생시 수행할 함수명 보통 NULL을 지정합니다.
위 함수를 이용하여 타이머를 생성합니다. 이렇게 생성한 타이머는 일정 간격
주기가 되면 WM_TIMER라는 메세지를 발생하게 합니다. 우리는 이제 이 메세지
에서 타이머 발생시 처리할 내용을 넣으면 돼겠군요?
그리고 이제 생성할줄 알았다면 마지막에 지우는 것도 알아두면 좋겠군요?
BOOL KillTimer( HWND hwnd, UINT idEvent );
p1 hwnd - 타이머가 존재하는 윈도 핸들
p2 idEvent - 지울 타이머 아이디
..........<apitimer.c>..................................
LRESULT CALLBACK WndProc(HWND hWnd,UINT mseg,WPARAM wParam,LPARAM lParam)
{
HDC hDC;
static int n;
static char szTimer[80];
switch(mseg)
{
case WM_CREATE: SetTimer(hWnd,100,1000,NULL);
return FALSE;
case WM_TIMER: switch(LOWORD(wParam))
{
case 100: n++;
hDC = GetDC( hDC, 100,100,sz,spritnf(szTimer,"
Count : %d",n));
ReleaseDC(hWnd,hDC);
break;
}
case WM_DESTROY: KillTimer(hWnd,100);
PostQuitMessage(0);
return FALSE;
}
return DefWindowProc(hWnd,mseg,wParam,lParam);
}
.............................................................
OutPut Group Study in API (Application Programming Interface)
STUDY #3 : Icon & Cursor by USER & TIMER
Typed by Jo.K.M 1997/12/16 01:51
....................................................................
* : 참고 >>> : 참고 어휘 pn : 파라미터
(1) 사용자 아이콘 커서 이용하기
===========================================
윈도가 사용하는 여러 자료를 모아 정리한 파일을 리소스 파일이라고 하는데
메뉴나 대화상자, 비트맵, 아이콘을 이곳에서 정의 하지요. 그리고 우리가
직접 만든 그림을 아이콘으로 사용할라면 리소스 파일에 정의를 해야합니다.
* 컴파일시 Insert/Files into Project 로 리소스 파일도 포함해야 합니다.
.....< test.rc >...........................
#include <windows.h>
MyIcon ICON "my.ico"
MyCursor CURSOR "my.cur"
...........................................
......< api.c >............................
:
첫번째 부분
WndClass.hIcon = LoadIcon(hInstance,"MyIcon");
WndClass.hCursor = LoadCursor(hInstance,"MyCursor");
:
...........................................
(2). 타이머 사용하기
=============================================
타이머란 정해진 만큼의 시간간격을 주기로 신호를 보내는 것을 말합니다.
API에서는 SetTimer()를 통해 타이머 아이디를 얻은후 WM_TIMER의 메세지를
통해서 이를 이용하게 됩니다.
UINT SetTimer( HWND hwnd, UINT idTimer, UINT uTimeout, TIMERPROC tmprc );
p1 hwnd - 윈도 핸들
p2 idTimer - 타이머 아이디 (핸들,고유 번호)
uTimeout - 타이머 발생 주기 시간 nTimer * 1000 = 1 sec
tmprc - 타이머 발생시 수행할 함수명 보통 NULL을 지정합니다.
위 함수를 이용하여 타이머를 생성합니다. 이렇게 생성한 타이머는 일정 간격
주기가 되면 WM_TIMER라는 메세지를 발생하게 합니다. 우리는 이제 이 메세지
에서 타이머 발생시 처리할 내용을 넣으면 돼겠군요?
그리고 이제 생성할줄 알았다면 마지막에 지우는 것도 알아두면 좋겠군요?
BOOL KillTimer( HWND hwnd, UINT idEvent );
p1 hwnd - 타이머가 존재하는 윈도 핸들
p2 idEvent - 지울 타이머 아이디
..........<apitimer.c>..................................
LRESULT CALLBACK WndProc(HWND hWnd,UINT mseg,WPARAM wParam,LPARAM lParam)
{
HDC hDC;
static int n;
static char szTimer[80];
switch(mseg)
{
case WM_CREATE: SetTimer(hWnd,100,1000,NULL);
return FALSE;
case WM_TIMER: switch(LOWORD(wParam))
{
case 100: n++;
hDC = GetDC( hDC, 100,100,sz,spritnf(szTimer,"
Count : %d",n));
ReleaseDC(hWnd,hDC);
break;
}
case WM_DESTROY: KillTimer(hWnd,100);
PostQuitMessage(0);
return FALSE;
}
return DefWindowProc(hWnd,mseg,wParam,lParam);
}
.............................................................
'KB > MFC/Win32' 카테고리의 다른 글
STUDY #6 : Window with Menu in API (0) | 2004.03.19 |
---|---|
STUDY #4 : HDC (0) | 2004.03.19 |
STUDY #2 : Basic Message & Window treatment in WNDPROC (0) | 2004.03.19 |
STUDY #1 : Basic structure Code in Windows's API (0) | 2004.03.19 |
프로세스와 멀티 스레드 프로그래밍 (0) | 2004.03.19 |