일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- do it c
- SSG
- C++
- mysql
- 마이크로소프트
- 정처기 독학
- tips강좌
- 도움말
- mfc 실습
- 핵심 요약
- 미가공
- Tipsware
- 별찍기
- win32
- 정보처리기사
- C언어
- 김성엽
- 충무창업큐브
- 포트폴리오
- visual
- MyThread
- C
- 유료강좌
- ListBox
- MFC
- 실습
- MyTread
- linux
- Time
- MFC 예제
- Today
- Total
목록MyThread (25)
History

이번 실습은 마우스로 모니터의 좌표를 알아내서 현재 실행한 윈도우의 좌표를 원하는 위치로 옮길 수 있는 실습을 진행한다. 사용한 메시지는 OnMouseMove OnLButtonDown OnLButtonUp 이 세 개를 가지고 작업을 하였고, OnMouseMove 메시지 안에는 SetWindowPos함수를 사용하여 윈도우의 위치를 조정하였다. 실행화면은 아래와 같다.

저번 게시글에 이어서 ListBox안에 있는 항목 옮기는 프로그램을 OwnerDraw를 사용해서 리스트 박스에 있는 인터페이스를 바꿔보았다. 이 프로그램도 위로 버튼이 눌리면 현재 클릭된 항목이 위로 움직이게 구성되어 있고, 아래 버튼을 누르면 현재 클릭한 항목이 아래로 내려간다. 각 항목의 index는 현재 item의 개수에 맞춰서 해야 하기 때문에 조건을 넣어줘야 프로그램이 죽지 않고 잘 동작한다. 일반 리스트 박스와 다른 점은 GetIDlgtemPtr함수를 이용해서 값을 변경해주었다.

이번 실습은 버튼을 이용하여 ListBox의 항목을 움직이는 실습을 진행한다. 위로 버튼이 눌리면 현재 클릭된 항목이 위로 움직이게 구성되어 있고, 아래 버튼을 누르면 현재 클릭한 항목이 아래로 내려간다. 각 항목의 index는 현재 item의 개수에 맞춰서 해야 하기 때문에 조건을 넣어줘야 프로그램이 죽지 않고 잘 동작한다.

아래와 같이 노란색 점들은 랜덤하게 뿌려져 있지만 특정 부분은 군집 형태의 모습을 띄고 있다. 이 군집 모양을 점과 점 사이의 거리가 짧은 곳이 군집이라고 판단하여 이 군집을 칠해보겠다. 다른 라이브러리 파일을 사용하는 것이 아닌 Visual Studio C++ MFC를 사용해서 칠해보는 것을 할 것이다. 위의 영상과 같이 체크 버튼을 눌렀을 때 점과 점 사이의 거리를 20이하이면 군집으로 구성된 점이라고 판단했다. 그렇기에 처음엔 빈 공간이 몇 있더라도 칠해졌다. 그리고 2번째 체크 버튼을 눌렀을 때는 PNG 비트맵을 한번 다시 탐색하고 이제 노란 선 및 점들 간 사이가 20 이하이면 더 칠하도록 구성했다. 3번째도 마찬가지이고 4번째부턴 더 이상 20 이하의 점들이 없기에 프로그램이 실행이 안된 것처..

1개의 CImage에 전부 그리는 것이 아닌 가상 dc를 만들고 각각의 CImage를 사용해서 배경과 사각형을 그릴 크기를 Create 했고, 마지막 물리 dc에 한 번에 출력하는 방향으로 작성했습니다. 이렇게 해야 나중에 배경 grid를 앞으로 빼내고 싶을 때 쉽게 작업할 수 있기 때문입니다.
이 예제는 MFC memory dc를 사용하여 끊김이나 깜빡임 없이 베이지어 곡선을 그리는 예제입니다. 베이지어를 구성하는 좌표를 사각형으로 표시하고 이 사각형을 움직이면 베이지어 곡선이 변경되도록 구성했습니다. POINT m_bezier_pos[4] = {{100, 100}, {200, 200}, {300, 50}, {400, 100}}; 베이지어를 구성하는 좌표는 위의 X Y 좌표로 설정했습니다.

이 프로그램은 Visual Studio 2022의 Visual C++에서 MFC를 사용해서 만들었습니다. 요즘 파이를 구매해서 라즈베리 프로그래밍을 해보고 싶은 사람들이 많습니다. 그러나 개발 공부를 한다고 장비를 사고 구석에 방치되는 것이 슬픈 현실이죠. 그래서 라즈베리 파이를 구매하기 전에 라즈베리 파이로 어떤 작업을 할 수 있는지 경험할 수 있게 해주는 프로그램을 같이 공부하는 사람들, 이끌어주시는 김성엽 선생님과 함께 만들어가고 있습니다. 이 프로그램은 라즈베리 파이를 단순히 흉내 내는 수준이 아니라 시뮬레이터에서 프로그램한 소스를 실제 라즈베리 파이로 옮겨서 컴파일만 시켜주면 사용 가능할 수 있게 만들고 있습니다. 지금은 기능 테스트를 진행중이기 때문에 인터페이스는 신경 쓰지 못하고 있습니다만 ..

안녕하세요 이 게시판에는 오랜만에 글을 적습니다. 오늘은 김성엽 선생님의 새로운 C언어 강의를 소개하려고 합니다. 김성엽 선생님은 코로나 이후로 오프라인으로 진행하던 무료 강의를 온라인으로 진행하셨습니다. 그러다 보니 양질의 Q&A가 줄어드는 단점을 보고 이번 22년 여름 C언어 강의를 유튜브에서 실시간으로 진행해주시면서 Q&A를 진행해주신다고 합니다. 아래 링크는 선생님의 유튜브입니다. 매주 화 목 오후 9시에 실시간으로 선생님과 같이 소통하면서 공부하는 시간을 가졌으면 좋겠습니다ㅎㅎ https://www.youtube.com/c/%EA%B9%80%EC%84%B1%EC%97%BD 김성엽 저는 20년 넘게 C, C++로 프로그램을 하고 있고 Microsoft MVP(Visual C++)로 활동하고 있는 ..