Visual Studio 2012 컴파일시 error C2065: 'IDD_DLG_INPUT' : 선언되지 않은 식별자입니다. 에러 해결 방법에 대해 알아보자. 대화상자를 새로 만들어서 클래스를 만들었는데 그 상태로 컴파일을 하면 위와 같은 에러가 발생한다. 원인은 알아보니 클래스 파일에 새로 만든 대화 상자의 아이디를 넣는데, 그 아이디를 인식 못하는 문제였다. 그 아이디는 리소스 헤더에 있으니 클래서 파일 헤더에 아래와 같이 포함해주면 된다. #include "resource.h" 기왕 만드는거 마법사에서 이런건 같이 해주면 좋지 않을까 하는 생각을 해보며.. 끝
Visual Studio 2012 MFC에서 엑셀 파일을 사용해보자. MS에서 제공해주는 자료를 바탕으로 모듈화 하였다. 자료는 아래 링크에서 다운 받으면 된다. ExcelEx 소스코드 중요, Microsoft Excel 프로그램이 설치 되어 있어야 한다. 사용 하는 함수는 아래와 같다. 엑셀 실행 관련 StartExcel()/QuitExcel(): 엑셀 실행/종료 시 사용한다. SaveData(): 편집한 엑셀 내용을 저장한다. ShowExcel(bShow): 실행한 엑셀 프로그램을 보여주거나/숨긴다. WorkBook 관련 OpenWorkBook(FilePath): FilePath에 있는 Workbook을 실행한다. CloseWorkBook(): 실행된 Workbook을 종료한다. CreateWorkB..
Visual Studio 2012 컨트롤의 배경색을 변경하거나 투명하게 만들어보자. 1. Ctrl + Shift + X 키를 눌러 클래스 마법사를 실행한다. 2. 배경화면을 바꿀 대화상자의 클래스 이름을 지정한 후, 메시지 탭의 WM_CTLCOLOR 의 처리기를 추가한다. 3. 추가 후 생성된 함수에는 아래와 같이 코드를 삽입한다. HBRUSH 클래스이름::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor); if(nCtlColor == CTLCOLOR_STATIC)//STATIC 컨트롤만 배경색 변경 pDC->SetBkColor(RGB(255, 255, 255))..
Visual Studio 2012 대화상자의 배경화면을 바꿔보자. 1. Ctrl + Shift + X 키를 눌러 클래스 마법사를 실행한다. 2. 배경화면을 바꿀 대화상자의 클래스 이름을 지정한 후, 메시지 탭의 WM_ERASEBKGND 의 처리기를 추가한다. 3. 추가 후 생성된 함수에는 아래와 같이 코드를 삽입한다. BOOL 클래스이름::OnEraseBkgnd(CDC* pDC) { CRect rect; GetClientRect(&rect); CBrush myBrush(RGB(255, 255, 255)); // dialog background color. CBrush *pOld = pDC->SelectObject(&myBrush); BOOL bRes = pDC->PatBlt(0, 0, rect.Width..
Visual Studio 2012 사용 스레드(Thread)를 활용해보자. 스레드 한개를 미리 생성해서 대기시켜놓고, Run명령을 통해 작동/중지시키고 Stop명령을 통해 스레드를 종료하는 방법까지 다뤄본다. 1. 선언 // header.h CWinThread *m_pThread; HANDLE hThread; bool m_bRun, m_bStop; static UINT RunThread(LPVOID pParam); //... m_pThread을 통해 스레드를 시작하고, hThread에 해당 핸들을 넣는다.m_bRun, m_bStop으로 스레드를 시작하거나 종료하는 구문을 넣는다.RunThread는 스레드 시작시 사용할 함수 원형이다. 2. 정의 1) OnInitDialog // main.cpp BOOL ..
Visual Studio 2012 멀티 스레드를 사용하여 소켓통신용 서버 프로그램을 만들어보자. 기존에 만들었던 소켓통신 채팅 서버프로그램에서 몇가지 수정하고 추가하면 된다. 1. CWinThread용 클래스 생성 및 구현 클래스 마법사에서 'MFC 클래스' 클릭 클래스 추가 - 기본클래스는 CWinThread으로 지정 CSocketThread 클래스 - 필요 함수SetWnd : 다이얼로그의 핸들을 받기 위한 함수 함수 및 핸들 변수 선언// CSocketThread.h // #include "ClientSocket.h" //ClientSocket 헤더 추가 #define WM_ACCEPT_SOCKET WM_USER+1 //ServerSocket에 있던 메시지 쓰레드로 이동 class CSocketThr..
Visual Studio 2012 이번엔 소켓으로 통신하는 채팅 클라이언트 프로그램을 만들어보자. 클라이언트 프로그램은 클라이언트 담당 소켓만 있으면 된다. 1. MFC 프로젝트 생성 새 프로젝트 - MFC 응용 프로그램 선택 대화상자 기반 선택 Windows 소켓 선택 2. Client 소켓 만들기 클래스 마법사에서 'MFC 클래스' 선택 CClientSocket 클래스 추가 - 기본클래스는 CSocket으로 지정 3. CClientSocket 클래스 구현 - 필요 함수SetWnd : Sendmessage 활용을 위한 메인의 핸들을 받는 함수OnReceive : 서버 통신 받을 시의 처리 함수OnClose : 소켓 해제 시의 처리 함수- 사용자 메시지WM_CLIENT_RECV : 서버에서 응답 온 메시..
Visual Studio 2012 소켓으로 통신하는 채팅 서버 프로그램을 만들어보자. 서버 프로그램에서 사용하는 소켓은 두 종류가 있다. - Listen 소켓 - Client 매칭 소켓 1. MFC 프로젝트 생성 새 프로젝트 - MFC 응용 프로그램 선택 대화상자 기반으로 선택한다 아래 창에선 다음과 같이 Windows 소켓에 체크표시하고 '마침' 누름 2. 소켓에 해당되는 클래스 만들기 클래스 마법사에서 'MFC 클래스' 클릭 클래스 추가 - 기본클래스는 CSocket으로 지정 Listen 소켓 클래스 이름(CServerSocket)Client 매칭 소켓 클래스 이름(CClientSocket) 3. Listen 소켓 클래스 구현 - Listen할 때 필요한 함수SetWnd : Sendmessage 활용..
Visual Studio 2012 C언어를 사용하면서 콘솔창으로 이것저것 넣어서 출력해가며 테스트 하던 버릇때문에 MFC에서도 콘솔창 활용해서 테스트 했었는데, 쓰레드를 이용할 시 문제가 생긴다고 함. 그래서 콘솔창 대신 디버그 창을 활용하기로 하자. 방법은 간단하다. OutputDebugString(_T("디버그창")); 예를 들어 다음과 같이 코드를 작성한다. void CDialog4::OnBnClickedBtnThreadstart() { // TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다. OutputDebugString(_T("디버그창")); } 디버그를 실행하여 확인해보자 참고로 디버그 창을 보려면 디버그 모드에서 하단의 출력창을 확인하면 된다.
Visual Studio 2012 자식 다이얼로그에서 다른 자식 다이얼로그에게 메시지 보내기(SendMessage) 저번엔 부모클래스를 선언해와서 활용했지만, 좀더 간편하게 핸들만 바로 사용하는 방법이다. 다이얼로그 명칭 생략하고 편하게 자식1, 자식2이라 칭한다. 자식1에서 자식2의 핸들을 통해 메시지 보내는 방법 1. 보낼 메시지 설정(자식1, 자식2에 정의해야함) #define UWM_CUSTOM1(WM_USER+1) 2. 자식2에 사용자 지정 메시지 추가 * 프로젝트 - 클래스 마법사 - 클래스 선택(자식2) - 메시지탭 - 사용자 지정 메시지 추가 3. 자식2에 사용자 지정 메시지 함수와 메시지 선언 // Dialog2.cpp : 구현 파일입니다. // #define UWM_CUSTOM1(WM_..
- Total
- Today
- Yesterday
- 세금계산서합계표양식
- 스티커메모로드중
- 전자신고파일설명서
- Modeless
- 부가가치세전산매체
- sqlite3
- MFC
- ADO
- 모달리스
- MSSQL
- 스쿠트항공 환불받기
- 전자신고변환
- CMFCBUTTON
- SendMessage
- ADODB
- 소켓
- 모달리스 다이얼로그
- Sticky Notes Loading
- c++
- 프로세스이름변경
- 청년내일채움공제 만기신청
- MXCOMPONENT
- 해외송금확인
- MFC ADO
- MFC Modeless
- 법정동코드
- #자동업데이트
- 부가가치세
- 청년내일채움공제
- 항공알파벳
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |