Visual Studio 2012 사용 비슷한 작동을 하는 컨트롤들을 하나의 함수로 묶어서 사용해보자.예) 계산기 숫자 버튼.. ON_CONTROL_RANGE를 몰랐다면 각각의 컨트롤에 버튼클릭 이벤트 함수를 만들어 사용해야 했지만,이제는 한개의 함수로 제어가 가능하다. 1~4의 숫자에 해당되는 버튼을 만들어 버튼 클릭시 해당 숫자가 EditBox에 표현되는 프로그램을 만들어보자. 1. 준비1) ON_CONTROL_RANGE 원형(MSDN) ON_CONTROL_RANGE( wNotifyCode , id1 , id2 , memberFxn ) wNotifyCode: 메시지 핸들러를 입력하면 된다.(BN_CLICKED 같은..)id1: 함수에 적용할 첫번째 컨트롤의 ID를 입력한다. id2: 함수에 적용할 마..
Visual Studio 2012 사용 기존 파일들을 Zip으로 압축하거나 압축해제 해보자.파일 정보들은 Ini파일을 활용하여 저장할 계획이다.참고 : http://zadd.tistory.com/52 새 MFC 윈폼 프로젝트를 만들어 ZipTest란 이름으로 프로젝트를 생성하였다. 1. Zip/Unzip 소스 및 헤더 추가 이 소스를 활용하여 압축과 해제를 진행할 것이다. 받은 소스를 프로젝트에 복사해 넣고 아래와 같이 cpp 안에 zip.h와 unzip.h 헤더를 포함시킨다. // ZipTestDlg.cpp : 구현 파일 // #include "unzip.h" #include "zip.h"여기서 사용할 함수들을 살펴보자. zip.h HZIP CreateZip(const TCHAR *fn, const c..
Visual Studio 2012 사용 INI 파일을 생성하여 값을 저장하거나 불러오자.간단하게 문자열을 기준으로 테스트한다. 1. 값 저장하기1) 함수 원형 BOOL WritePrivateProfileStringA( LPCSTR lpAppName, LPCSTR lpKeyName, LPCSTR lpString, LPCSTR lpFileName );lpAppName: INI 파일 섹션 이름lpKeyName: INI 파일 키 이름lpString: INI 파일 키 값lpFileName: INI 파일 이름 위의 방식으로 INI 파일 저장시 파일 내부는 아래와 같이 표현된다. [lpAppName] lpKeyName=lpString 2) 함수 사용 void CTestDlg::OnBnClickedBtnIni() { ..
Visual Studio 2012 대화상자와 트레이아이콘을 활용해보자.대화상자를 닫았을 때, 종료가 아닌 트레이아이콘으로 숨겨질 수 있게 하는 것이 목표 Code Project의 Danial Zilcsak의 도움을 받았다.참조https://www.codeproject.com/Articles/810/System-Tray-Icons-Minimize-Your-Application-to-the CDialog를 상속받은 CTrayDialog 클래스를 만들어서 구성하고,새 프로젝트의 기본클래스를 CTrayDialog로 변환하여 사용 할 것이다. 아래 소스를 다운 받는다. (참조의 홈페이지에서도 받을 수 있다) 압축을 풀고 새로 만든 프로젝트 안에 복사 후, 소스와 헤더를 추가 한다.(예제는 TrayTest란 프로젝..
Visual Studio 2012 로그를 파일로 따로 저장해보자.로그 저장하기의 심화버전이랄까.. 가변인수를 활용해서 로그 저장하기 참조http://zadd.tistory.com/49 기존에 작성했던 함수에 FILE 포인터 변수를 추가하여 파일으로 저장까지 해보자.기왕 저장하는거 보기 편하게 SYSTEMTIME을 활용하여 날짜도 적용한다. 1. 변수 및 함수 선언 header.h FILE* fP; //파일 포인터 추가 void AddLog(char* format, ...); bool OpenFile(); void CloseFile(); 파일 포인터 변수와 로그 저장 함수, 파일을 열고 닫을 함수를 준비한다. 2. 소스코드를 살펴보자 main.cpp void AddLog(char* format, ...) ..
Visual Studio 2012 가변인수를 알아보고 이를 활용해 로그를 저장해보자. 대표적인 가변인수를 다루는 함수인 printf.printf("%d %s", n1, "Hello"); 위의 함수 인수들 중 처음 "" 부분인 format을 제외하고는 뒤에 변수의 개수가 일정치 않다.이를 가변 인수라 하고, 위의 함수는 가변인수 함수라고 한다. 1. 가변인수 함수의 기본적 형태 자료형 함수이름(자료형 고정인수, ...){va_list va;va_start(va, 고정인수);va_arg(va,자료형);va_end(va);} 주의사항1) 고정인수는 무조건 하나 이상이어야 한다.2) 고정인수가 두개 이상일 경우, va_start에는 가변인수 바로 앞인 마지막 고정인수를 넣어야한다. 2. 가변인수 사용하기(로그 ..
Visual Studio 2012 사용 스레드(Thread)를 실행하기 전에 스레드에 전달하는 인자를 구조체를 활용하여 여러개의 변수로 만들어보자. 기존에 스레드 만드는 법은 아래를 참조. http://zadd.tistory.com/43 1. 구조체 선언 Header.hstruct STPARAM { CTestDlg *m_pDlg; inti; char ch; CString str; STPARAM(CTestDlg *pDlg, int num, char chTmp, CString strTmp) :m_pDlg(pDlg), i(num), ch(chTmp), str(strTmp){} }; //... STPARAM이란 구조체를 정의하고 그 안에 필요한 데이터들을 넣는다. STPARAM(......){} 구문은 처음 생..
Visual Studio 2012사용 특정 프로세스의 윈도우 화면을 캡쳐해보자.윈폼 프로그램에서 버튼 클릭으로 메모장의 화면을 캡쳐하는 것이 목표 1. 우선 Windows Form 응용프로그램으로 프로젝트 생성하자.- 버튼 컨트롤 하나 생성 2. using 문 추가using System.Runtime.InteropServices; //DllImport를 사용하기 위해using System.Drawing.Imaging; //Bitmap 자원 활용 3. 소스는 아래와 같이 작성 namespace Capture { public partial class Form1 : Form { [StructLayout(LayoutKind.Sequential)] public struct Rect { public int left..
Visual Studio 2012사용 백그라운드에서 키보드 입력을 읽어보자. 1. 우선 Windows Form 응용프로그램으로 프로젝트 생성하자.- label 컨트롤 하나 생성한다. 2. 아래의 참조를 추가한다(어셈블리-프레임워크)- PresentationCore- WindowsBase 3. 소스는 아래와 같이 작성 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using ..
Visual Studio 2012 사용 레지스트리를 활용하여 값을 저장 또는 불러오자.사용되는 모든 함수들은 CWinApp의 멤버함수로 정의되어 있다. 1. 레지스트리 키 1) 함수원형 void SetRegistryKey(LPCTSTR lpszRegistryKey); void SetRegistryKey(UINT nIDRegistryKey); HKEY GetAppRegistryKey(CAtlTransactionManager* pTM = NULL); SetRegistryKey를 통해 메인App의 키를 생성한다.lpszRegistryKey를 통해 생성할 키의 이름을 직접 적거나,nIDRegistryKey를 통해 키의 이름을 포함하는 문자열 리소스 ID를 활용할 수 있다. 생성한 키는 레지스트리의 HKEY_CU..
- Total
- Today
- Yesterday
- c++
- 항공알파벳
- 청년내일채움공제 만기신청
- SendMessage
- MFC Modeless
- ADO
- #자동업데이트
- 스티커메모로드중
- 프로세스이름변경
- 전자신고변환
- Modeless
- 부가가치세전산매체
- 모달리스 다이얼로그
- 소켓
- MFC
- 청년내일채움공제
- 법정동코드
- ADODB
- 부가가치세
- 해외송금확인
- 세금계산서합계표양식
- MSSQL
- MFC ADO
- 모달리스
- CMFCBUTTON
- 스쿠트항공 환불받기
- sqlite3
- 전자신고파일설명서
- Sticky Notes Loading
- MXCOMPONENT
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |