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

이번 실습은 OnwerDraw를 활용한 ListBox와 ListCtrl을 동적할당하여 스티커 메모장을 구현하였다. 이 프로그램은 프로그램에 마우스 커서를 가져가면 프로그램이 화면 밖으로 도망간다. 이 도망가는 모션은 Time함수로 구현하였다. 또한 Ctrl키를 조합하여 프로그램에 마우스를 대고 더블클릭을 하면 수정을 진행하거나 새로운 데이터를 쓸 수 있게 구현했다.

이번 실습은 step2 내용을 클래스화 하는 과정을 진행했다. 클래스의 이름은 TW_ListBox로 추가했고, 기존 dlg헤더 파일에 새로 추가한 클래스를 상속받아서 코드를 작성했다. 이 코드는 MFC기반이 아닌 Win32기반 HDC형태로 작업했다. 클래스화를 진행하면 나중에 코드를 정리하여 재사용 가능한 클래스로 사용할 수 있기 때문에 차후 실무에서 많이 쓰일 기술로 보인다. 외형은 기존과 동일하다. 아직 혼자서 클래스 구분을 하기에는 실력이 부족하여 실습을 많이 해야할 것 같다. 다음에는 step_4 실습을 하겠다.

이번 실습은 저번에 하던 메뉴판을 가지고 실습을 진행하였습니다. 저번과 달라진 점이 있다면 저번 실습에서는 제가 사용하기 편하게 전역 변수로 구조체를 빼서 편하게 구조체 안에 있는 자료를 접근할 수 있었습니다. 그러나 이번 실습에서는 구조체를 지역변수로 빼놓고 다른 구조체를 만들어서 그 구조체를 동적 할당하여 필요한 만큼 데이터를 집어 놓도록 하였고, 또한 Owner-Draw 코드에서는 CDC가 아닌 HDC형식의 WIN32을 기반으로 동작하는 실습을 진행했습니다. (CDC는 임시 객체이기 때문에 잠재적인 위험이 있을 뿐 아니라 수행능력이 떨어지기에 API함수로 구현하는 것을 실습하는 것입니다.) 컴파일 실행 화면은 전의 화면과 색깔만 다르고 큰 틀은 똑같이 나옵니다ㅎ 이상입니다 Step-3버전으로 돌아오..

이번 실습은 ListBox의 OwnerDraw기술로 메뉴판을 꾸며보겠습니다. 굳이 OwnerDraw를 사용하는 이유는 ListBox의 내장기능에는 색상 꾸미기 기능이 없기 때문에 ListBox를 꾸미고 싶으면 OwnerDraw를 사용해야 합니다. 또한 OwnerDraw에서 그리는 기능은 전부 메시지 함수인 WM_DrawItem이라는 메시지를 추가해서 그려야 오류가 나지 않고 실행이 가능합니다. 색상을 입히는 함수는 WM_CtlColor함수를 추가해서 하면 됩니다. 위의 그림처럼 시작할 때 메뉴판이 출력됩니다. 메뉴판은 구조체를 이용하여 전역변수로 미리 초기화를 시켜놓고 구현했습니다. 영문은 굴림체 84크기, 한글과 숫자는 120 크기로 설정하고 구현했습니다. 메뉴판을 클릭하면 클릭된 메뉴판은 다른 메뉴판..

안녕하십니까 코로나로 인해 힘드실 텐데 다 같이 코로나 조심하고 힘내셨으면 좋겠습니다ㅎㅎ 저는 비정형 대화상자를 기반으로 B1-019. 일정을 메모하는 프로그램 만들기 B2-002. 파일 열기 대화 상자로 이미지 파일 선택해서 출력하기 이 두가지를 비정형 대화 상자에 연결 지어서 실습해봤습니다. 아래 그림은 처음 실행될 때 보이는 화면입니다 왼쪽에 사각형은 비정형 대화상자를 부모 대화 상자에 붙여서 만든 대화 상자이고, 오른쪽 2가지의 버튼은 일정 관리와 이미지 로드라는 버튼의 이름이 있는데 이 버튼을 누르면 각각의 기능이 실행됩니다. 먼저 일정관리 버튼을 누르면 아래 그림과 같이 실행이 되는데 새로 만든 대화상자에서는 OnInitDialog함수가 없어서 가상 함수에서 추가했습니다 일정이 추가되면 추가된..
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.