Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 도움말
- mysql
- C언어
- visual
- MyThread
- 핵심 요약
- 유료강좌
- C
- Tipsware
- MyTread
- 정처기 독학
- C++
- 충무창업큐브
- mfc 실습
- 미가공
- MFC
- win32
- Time
- do it c
- tips강좌
- 정보처리기사
- MFC 예제
- ListBox
- SSG
- 김성엽
- 실습
- 별찍기
- linux
- 포트폴리오
- 마이크로소프트
Archives
- Today
- Total
History
MFC_랜덤으로 원 만들기 본문
728x90
반응형
이번에는 복습 겸 간단한 실습을 진행해본다.
타이머 함수를 이용해 크기와 위치가 랜덤인 원들이 계속 크기가 줄어들면서 새롭게 생기는 프로그램을 만들어본다.
우선 구조체를 이용하여 원의 크기를 잡아줄 x, y 그리고 반지름인 r을 설정한다.
변수 r을 설정하는 이유는 Rectangle함수 같은 경우는 왼쪽 위의 좌표와 오른쪽 아래의 좌표만 알면 되지만 Ellipse함수는 Rectangle의 내접하는 원을 구하는 것이기 때문에 반지름 r을 이용해서 좌표를 구해야 한다.
OnInitDialog에서 랜덤함수를 이용해서 반복문으로 값을 구조체에 대입하고 Onpaint에서 원을 출력한다. 그러면 아래와 같은 그림이 출력된다.

흰 색 원들이 무작위로 생성되었지만 뭔가 밋밋하다. 각각 원에 색깔도 입히기 위해 구조체의 멤버에 색상 변수인 COLORREF 변수를 넣었고, 동일하게 반복문에서 초기화시켰다. dc도 현재 dc를 기억하면서 새로운 dc를 적용시켰고, 생상 입히기가 끝나면 원래 dc를 복구시켰다.

이제 Timer함수를 이용해서 랜덤으로 크기가 줄고 특정 크기만큼 줄어들면 다시 다른 곳에 생성되어서 줄어들도록 만들겠다.
Memory Dc를 사용하지 않았기에 깜빡임이 심하지만 간단하게 원하고자 하는 실습은 끝냈다.
728x90
반응형
'MFC > 개인 실습' 카테고리의 다른 글
서브클래싱을 이용한 버튼 기능 변경하기 (0) | 2022.02.03 |
---|---|
MFC_랜덤으로 원 만들기(MemoryDC사용) (0) | 2022.01.27 |
MFC ListBox OwnerDraw를 이용한 메뉴판 꾸미기 step_3 (0) | 2021.07.21 |
MFC ListBox OwnerDraw를 이용한 메뉴판 꾸미기 step_2 (0) | 2021.07.20 |
MFC ListBox OwnerDraw를 이용한 메뉴판 꾸미기step_1 (0) | 2021.07.19 |
Comments