-
C언어 공부 되새김 Win32Api구현해보기 4편 화면출력함수처리3C언어 공부 되새김 Win32api로 구현해보기 2019. 10. 19. 20:55
컴퓨터 프로그래밍 C언어 공부를 콘솔로 공부하고 윈도우 프로그래밍으로 구현하는데
콘솔로 공부하던 소스를 윈도우 프로그래밍 기본코드를 제외하고 함수형식으로 콘솔 소스와
비슷하게 구현해보려고 합니다.
콘솔은 쉽고 윈도우는 어렵다가 아니고 윈도우 프로그래밍을 시작부터 접하면서 친숙해졌으면 합니다.
구현은 무료 통합개발 환경인 Dev-C++ 4.9.9.2로 구현합니다.
지난편에는 왼쪽으로 정렬된 별을 출력하였습니다.
이번엔 오른쪽으로 정렬된 별을 출력하겠습니다.
*
**
***
****
*****
******
*******▷ 소스 비교
Console
실행화면
int main(int argc, char *argv[])
{
printf(" *\n");
printf(" **\n");
printf(" ***\n");
printf(" ****\n");
printf(" *****\n");
printf(" ******\n");
printf("*******\n");
system("PAUSE");
return 0;
}스페이스바(공백)으로 채우로 정렬 시켰습니다. 정말 간단하죠…
윈도우에서도 동일한 형식으로 출력할 수 있습니다.
▷ 소스 비교
Windows
void Study_Main(HDC hdc){
TextOut(hdc,0,0, " *",7);
TextOut(hdc,0,20, " **",7);
TextOut(hdc,0,40, " ***",7);
TextOut(hdc,0,60, " ****",7);
TextOut(hdc,0,80, " *****",7);
TextOut(hdc,0,100," ******",7);
TextOut(hdc,0,120,"*******",7);
}오른편으로 출력은 되었습니다.
폰트가 스페이스(“ “)와 별(“*”)의 가로크기가 동일하지 않아 약간 삐뚤어 졌습니다.
이런 출력은 DrawText가 좀더 유연하게 출력할 수 있습니다.
void Study_Main(HDC hdc){
char str[] = "*\n**\n***\n****\n*****\n******\n*******\n";
// 화면의 (0, 0) 위치부터 (100, 200) 위치까지 사각형 영역을 만든다
RECT rt = {0, 0, 100, 200};
DrawText(hdc, str, -1, &rt, DT_RIGHT | DT_WORDBREAK);
}
DrawText 출력시 정렬에서 DT_LEFT 대신 DT_RIGHT로 출력한 결과입니다.
가운데로 출력하기위해서는…?
DT_LEFT 대신 DT_CERTER을 사용하면 됩니다.
쉽죠?
오늘은 이만...
'C언어 공부 되새김 Win32api로 구현해보기' 카테고리의 다른 글
C언어 공부 되새김 Win32Api구현해보기 6편 반복문 for - TextOut (0) 2019.10.21 C언어 공부 되새김 Win32Api구현해보기 5편 화면출력 printf (0) 2019.10.20 C언어 공부 되새김 Win32Api구현해보기 3편 화면출력함수처리2 (0) 2019.10.17 C언어 공부 되새김 Win32Api구현해보기 2편 화면출력함수처리 (0) 2019.10.16 C언어 공부 되새김 Win32Api구현해보기 1편 화면출력 (0) 2019.10.15