5. 5
꼭 알아두어야 할 스타일
WS_BORDER 윈도우 테두리 나타남
WS_CHILD 자식 윈도우로 설정
WS_POPUP 팝업 윈도우로 설정
WS_VISIBLE 윈도우를 생성과 동시에 화면에 표시
WS_OVERLAPPEDWINDOW 일반 속성 모두 포함
WS_CHILD 는 WS_POPUP과 함께 사용 불가 (반대 속성)
어떤 속성은 다른 속성들의 조합
기타 속성은 MSDN을 참고
WS_OVERLAPPED WS_CAPTION
WS_SYSMENU WS_THICKFRAME
WS_MINIMIZEBOX WS_MAXIMIZEBOX
※ MSDN 참고
6. 6
스타일 추가 및 제거
WS_OVERLAPPEDWINDOW에서 WS_SYSMENU
제거해 보자
7. 7
style = style & (~WS_SYSMENU);
스타일 추가: OR ( | )
스타일 제거: Negation ( ~ ) 및 AND ( & ) 연산 적용
DWORD style;
style = WS_OVERLAPPEDWINDOW | WS_VISIBLE;
style = _______________________ ;
hWnd2 = CreateWindow(
"WND2",
"WORLD",
style,
320, 0, 320, 240,
hWnd, NULL, _hInstance, NULL
);
비트 연산 잘 이해가 안되면 다음 참조
8. 8
#include <stdio.h>
#define SW1 1 // 0001
#define SW2 2 // 0010
#define SW3 4 // 0100
#define SW4 8 // 1000
main()
{
int sw = 0; // 모든 스위치가 꺼져 있다
sw = SW1; // 1번 스위치 ON
sw = sw | SW2; // 2번 스위치 ON
sw = sw | SW3; // 3번 스위치 ON
if (sw & SW2) // 2번 스위치 ON인지 검사
printf(“ON”);
}