Recommended
PDF
PDF
PDF
PPTX
clean code book summary - uncle bob - English version
PPSX
Modificateurs d'accès en java
PPTX
PDF
POO Java Chapitre 6 Exceptions
PPTX
PDF
PDF
PDF
Windows Registered I/O (RIO) vs IOCP
PDF
[143] Modern C++ 무조건 써야 해?
PDF
Chapitre 2 classe et objet
PDF
PPTX
Refelction의 개념과 RTTR 라이브러리
PPTX
PDF
POO Java Chapitre 2 Encapsulation
PDF
Programmation orientée objet : Object, classe et encapsulation
PPTX
PPTX
PPTX
PPTX
Java Language fundamental
PDF
PDF
KEY
Clean code and Code Smells
PPTX
PDF
Laravel × レイヤードアーキテクチャを実践して得られた知見と反省 / Practice of Laravel with layered archi...
PDF
PDF
[Windows via c/c++] 4장 프로세스
PDF
More Related Content
PDF
PDF
PDF
PPTX
clean code book summary - uncle bob - English version
PPSX
Modificateurs d'accès en java
PPTX
PDF
POO Java Chapitre 6 Exceptions
PPTX
What's hot
PDF
PDF
PDF
Windows Registered I/O (RIO) vs IOCP
PDF
[143] Modern C++ 무조건 써야 해?
PDF
Chapitre 2 classe et objet
PDF
PPTX
Refelction의 개념과 RTTR 라이브러리
PPTX
PDF
POO Java Chapitre 2 Encapsulation
PDF
Programmation orientée objet : Object, classe et encapsulation
PPTX
PPTX
PPTX
PPTX
Java Language fundamental
PDF
PDF
KEY
Clean code and Code Smells
PPTX
PDF
Laravel × レイヤードアーキテクチャを実践して得られた知見と反省 / Practice of Laravel with layered archi...
PDF
Similar to 09 윈도우스타일
PDF
[Windows via c/c++] 4장 프로세스
PDF
PDF
2. windows system과 file format
PDF
PPTX
[아꿈사] The C++ Programming Language 9장 소스 파일과 프로그램
PDF
PPTX
핵심 API로 배우는 윈도우 프로그래밍 Chapter01 요약
PDF
PDF
PDF
PDF
PDF
PDF
[방송통신대 컴퓨터과학과] Visual C++ 프로그래밍 과제물 작성
PDF
PDF
PPTX
PPTX
PPTX
PPTX
PPTX
More from jaypi Ko
PDF
CVPR 2022 Tutorial에 대한 쉽고 상세한 Diffusion Probabilistic Model
PDF
개념 이해가 쉬운 Variational Autoencoder (VAE)
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PPTX
PDF
09 윈도우스타일 1. 2. 2
LRESULT CALLBACK WndProc(HWND hWnd, UINT mesg, WPARAM wParam, LPARAM lParam)
{
static HWND hWnd2;
switch(mesg)
{
case WM_CREATE:
hWnd2 = CreateWindow(
"WND2",
"World",
WS_OVERLAPPEDWINDOW,
320, 0, 320, 240,
hWnd, NULL,
hInstance,
NULL
);
ShowWindow(hWnd2, SW_SHOW);
break;
} …
}
이거 빼면 화면에 윈도우 안
나타난다
3. 3
LRESULT CALLBACK WndProc(HWND hWnd, UINT mesg, WPARAM wParam, LPARAM lParam)
{
static HWND hWnd2;
switch(mesg) {
case WM_CREATE:
hWnd2 = CreateWindow(
"WND2",
"World",
WS_OVERLAPPEDWINDOW | WS_VISIBLE,
320, 0, 320, 240,
hWnd, NULL,
hInstance,
NULL
);
ShowWindow(hWnd2, SW_SHOW);
break;
} …
}
다음과 같이 하면 생략할 수 있다
생성과 동시에 화면출력
옵션 (스타일) 지정
4. 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”);
}
9. 9
int sw = 0;
sw = SW1;
sw = sw | SW2;
sw = sw | SW3;
sw = sw & (~WS2);
if (sw & SW3) printf(“ON”);
0 0 0 0 0 0 0 1
sw
0 0 0 0 0 0 1 0 SW2
0 0 0 0 0 0 1 1
|
sw2 sw1
10. 10
int sw = 0;
sw = SW1;
sw = sw | SW2;
sw = sw | SW3;
sw = sw & (~WS2);
if (sw & SW3) printf(“ON”);
0 0 0 0 0 0 1 1
sw
0 0 0 0 0 1 0 0 SW3
0 0 0 0 0 1 1 1
|
sw2 sw1sw3
11. 11
int sw = 0;
sw = SW1;
sw = sw | SW2;
sw = sw | SW3;
sw = sw & (~WS2);
if (sw & SW3) printf(“ON”);
0 0 0 0 0 1 1 1
sw
1 1 1 1 1 1 0 1 ~SW2
0 0 0 0 0 1 0 1
&
SW2: OFF
12. 12
int sw = 0;
sw = SW1;
sw = sw | SW2;
sw = sw | SW3;
sw = sw & (~WS2);
if (sw & SW3) printf(“ON”);
0 0 0 0 0 1 0 1
0 0 0 0 0 1 0 0 SW3
0 0 0 0 0 1 0 0 → 4 > 0
&
SW3: ON true
13. 14. 14
LRESULT CALLBACK WndProc(HWND hWnd, UINT mesg, WPARAM wParam, LPARAM lParam)
{
static HWND hWnd2;
switch(mesg) {
case WM_CREATE:
hWnd2 = CreateWindow(
"WND2",
"World",
WS_OVERLAPPEDWINDOW | WS_VISIBLE |
WS_CHILD,
320, 0, 320, 240,
hWnd,
NULL,
_hInstance,
NULL
);
break;
} …
}
다른 윈도우의 안쪽에 위치 하므로
반드시 부모 윈도우가 있어야 한다