WINAPI - Static
내장형 하드웨어/WINAPI / 2011. 9. 22. 14:22
- 스태틱(static)은 다른 컨트롤에 비해 비교적 간단한 컨트롤이다. 사용자로부터 입력을 받아들이는 기능은 없고 오로지 문자열을 보여주는 것이 전부.
- 예제
- 출력 결과
- 스태틱 컨트롤과 TextOut으로 출력한 문자열과의 차이점을 살펴보면
→ TextOut으로 출력한 문자열은 그냥 문자열일 뿐이므로 언제든지 지워질 수 있고 그래서 WM_PAINT에서 계속 복구해야 한다.
→ 반면 스태틱 컨트롤은 스스로 메시지를 처리할 수 있는 윈도우이기 때문에 일단 배치해 놓기만 하면 더 이상 신경쓰지 않아도 된다.
컨트롤을 잘 다루기 위해서는 1. 스타일, 2. 통지 메시지, 3. 부모 윈도우가 보내는 메시지 와 같은 3가지에 대해 잘 알아야 하는데 이를 컨트롤의 3요소라고 한다.
- 예제
LRESULT OnCreate(HWND hWnd, WPARAM wParam, LPARAM lParam)
{
CreateWindow(TEXT("static"), TEXT("Only Text"), WS_CHILD|WS_VISIBLE,
20, 20, 100, 25, hWnd, (HMENU)-1, g_hInst, NULL);
return 0;
}
LRESULT OnDestroy(HWND hwnd, WPARAM wParam, LPARAM lParam)
{
PostQuitMessage(0);
return 0;
}
{
CreateWindow(TEXT("static"), TEXT("Only Text"), WS_CHILD|WS_VISIBLE,
20, 20, 100, 25, hWnd, (HMENU)-1, g_hInst, NULL);
return 0;
}
LRESULT OnDestroy(HWND hwnd, WPARAM wParam, LPARAM lParam)
{
PostQuitMessage(0);
return 0;
}
- 출력 결과
- 스태틱 컨트롤과 TextOut으로 출력한 문자열과의 차이점을 살펴보면
→ TextOut으로 출력한 문자열은 그냥 문자열일 뿐이므로 언제든지 지워질 수 있고 그래서 WM_PAINT에서 계속 복구해야 한다.
→ 반면 스태틱 컨트롤은 스스로 메시지를 처리할 수 있는 윈도우이기 때문에 일단 배치해 놓기만 하면 더 이상 신경쓰지 않아도 된다.
컨트롤을 잘 다루기 위해서는 1. 스타일, 2. 통지 메시지, 3. 부모 윈도우가 보내는 메시지 와 같은 3가지에 대해 잘 알아야 하는데 이를 컨트롤의 3요소라고 한다.
'내장형 하드웨어 > WINAPI' 카테고리의 다른 글
WINAPI - 스크롤 바 (0) | 2011.09.26 |
---|---|
WINAPI - EDIT (1) | 2011.09.23 |
WINAPI - 라디오 버튼 (0) | 2011.09.21 |
WINAPI - 체크 박스 (0) | 2011.09.20 |
WINAPI - 컨트롤(버튼) (0) | 2011.09.19 |