일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ListBox
- SSG
- mysql
- Time
- MyTread
- C
- win32
- 별찍기
- MFC 예제
- 실습
- C언어
- MFC
- linux
- 정보처리기사
- 도움말
- tips강좌
- do it c
- 정처기 독학
- 김성엽
- 충무창업큐브
- 유료강좌
- 포트폴리오
- 별찍기 기초
- MyThread
- mfc 실습
- C++
- 마이크로소프트
- 미가공
- Tipsware
- 핵심 요약
- Today
- Total
목록MFC/개인 실습 (39)
History
1. FTP에 접속하기 위해서는 아래의 헤더파일과 lib를 포함시켜야 한다. #include #pragma comment(lib,"wininet.lib") #include "direct.h" 2. 멤버 변수 선언 HINTERNET mh_ftp_session; //세션 생성을 위한 멤버 변수 HINTERNET mh_ftp_connection; //세션과 연결하기 위한 멤버 변수 3. 세션 생성하기 Win32 인터넷 함수를 사용하려면 세션을 생성해야 합니다. 세션은 InternetOpen 함수를 사용해서 생성할 수 있으며 다른 인터넷 함수를 사용할 때 사용됩니다. FTP 클라이언트를 만들기 위해서는 아래와 같이 InternetOpen 함수를 호출하여 세션을 생성하면 된다. mh_ftp_session = ::..
처음 프로젝트를 만들면 다이어로그 기본 세팅이 위 이미지와 같을 것이다. "TODO: 여기에 대화 상자 컨트롤을 배치합니다." 이 문구는 기본적으로 STATIC 컨트롤로 되어있는데 속성은 아래와 같다. ID부분을 보면 IDC_STATIC이라고 되어있다. IDC_STATIC은 해당 STATIC의 ID를 나타내는 것으로 문자열을 변경하려면 아래 코드를 이용해서 바꿀 수 있다. BOOL CtestStaticStringDlg::OnInitDialog() { CDialogEx::OnInitDialog(); // 이 대화 상자의 아이콘을 설정합니다. 응용 프로그램의 주 창이 대화 상자가 아닐 경우에는 // 프레임워크가 이 작업을 자동으로 수행합니다. SetIcon(m_hIcon, TRUE);// 큰 아이콘을 설정합..
이번 실습은 저번에 이어서 진행한다. 우선 파일 복사 기능은 오른쪽 목록에 있는 파일을 선택해서 왼쪽으로 복사하는 기능과 함께 파일을 삭제하는 기능을 구현했다. 또한 현재 작업 경로를 파일탐색기로 열어서 작업에 파일이 제대로 들어갔을 때 확인이 가능하도록 기능을 추가했다. 디렉토리를 옮기거나 삭제하는 코드는 추후에 작업하도록 하겠다. 그렇기 때문에 이번 실습에서는 디렉토리를 복사하거나 삭제하려고 할 때 MessageBox로 경고 메시지를 띄우고 있다. 아래는 실행 화면이다.
이번 실습은 현재 작업 경로에 있는 파일과 디렉토리 목록을 리스트 박스에 추가, 경로 이동, 원하는 파일 경로에 디렉토리 생성하는 실습을 진행했다. 경로 이동은 아래 사진과 같이 폴더와 파일이 존재한다. 폴더는 []로 둘러쌓인 디렉토리 항목을 마우스로 더블클릭하면 해당 디렉토리로 이동하는 기능을 구현하였다. 현재 작업경로를 얻을 때 사용하는 함수는 아래와 같다. DWORD GetCurrentDirectoryW( DWORD nBufferLength, LPWSTR lpBuffer ); GetCurrentDirectory 함수는 현재 프로그램의 작업 경로를 얻을 때 사용한다. 이 함수는 Window API 함수이기 때문에 일반 콘솔 환경에서도 windows.h 헤더 파일만 include 시키면 된다. 첫 번째..
이번 실습은 달력을 직접 만들어서 일정을 입력하고 저장하는 프로그램을 만드는 것이다. 해당 날짜에 일정을 입력하여 적용을 하면 해당 날짜에 일정이 있다는 표시를 하기 위해 Ellipse를 이용했다. 아래 사진은 실행되기 전 다이어그램이다. 아래 GIF는 프로그램 실행화면이다. 원래 윈도우에 투명화를 적용시켜서 만들었지만, 투명화가 적용되는 것보다 완전 불투명한 윈도우가 시각적으로 보기 편해서 계층화 속성은 부여하지 않았다.
이번 차시 게시물은 달력 만들기 3번째이다. 저번 step까지는 메인 Dlg에서 작업했지만, step3에서는 캘린더 구현하는 코드를 CWnd 클래스에서 상속받은 클래스로 구성하였다. 이렇게 해놓으면 후에 달력을 만들 때 새롭게 안 만들고 재사용이 가능하다. 그리고 달력도 일반적으로 많이 사용하는 달력 화면으로 변경하였다. 실행화면은 아래와 같다.
이번 차시에는 mfc 기본 컨트롤이 제공하는 기능처럼 양 옆 화살표를 누르면 해당 년 월이 표시되게 구현했다. 화살표는 TextOut으로 문자를 이용해서 표시했고, 해당 좌표를 계산해서 OnLButtonDown함수를 사용해서 step2 달력 프로그램을 구현했다.
mfc는 기본적으로 제공되는 달력 컨트롤이 있지만 기능이 한정적이고 달력의 출력 형태를 개발자가 원하는 대로 변경하는 작업도 쉽지 않기 때문에 좀 더 자신의 성향에 맞게 달력을 만들고 싶으면 직접 만들어서 사용하는 것을 권장한다. 이번 step1 단계에서는 기본적으로 현재 달을 출력하는 프로그램을 만들어본다. 우선 해더에서는 if를 최소한으로 사용하기 위해 배열 변수를 아래처럼 추가해준다. private: wchar_t* mp_week[7] = { L"일",L"월" ,L"화" , L"수" , L"목" , L"금" , L"토" }; int m_date[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 }; COLORREF m_date_color[7] = { RGB(255,0,0..