Visual Studio 2012 자식 다이얼로그에서 부모와 자식에게 각각 메시지 보내기(SendMessage활용) - 자식 1에서 부모와 자식 2에게 각각 메시지 보내고 받은 메세지 처리하기 * 자식 2에게 바로 보내려면 부모의 클래스를 포인터로 가지고 있어야함* 아래 링크 참조[MFC] 자식 다이얼로그에서 부모 클래스 접근하기 1. 보낼 메시지 설정(자식1, 자식2, 부모에 다 정의 해줘야함) #define UWM_CUSTOM1 (WM_USER+1) 2. 부모와 자식2에 각각 사용자 지정 메시지 추가(메시지 받아서 처리할 함수) *프로젝트 - 클래스 마법사 - 클래스선택(부모,자식2) - 메시지탭 - 사용자 지정 메시지 추가 3. 사용자 지정 메시지 함수 구현(부모, 자식2 각각 구현) //CMode..
Visual Studio 2012 자식 다이얼로그에서 부모 클래스 접근하는법(핸들말고..) 자식 1, 2를 만들어서 서로 핸들 주고받게 하려고 하다 찾은 방법 부모가 자식 1,2의 클래스를 가지고 있으니, 자식1에서 부모클래스 포인터를 활용하여 부모클래스포인터->자식2->핸들 로 접근이 가능 1. 부모 다이얼로그에 자식1, 2 클래스 추가 및 설정 헤더 // ModelessDDlg.h : 헤더 파일 // //멤버변수 선언 CDialog1 *m_dlg1; CDialog2 *m_dlg2; CPP // ModelessDDlg.cpp : 구현 파일 // // CModelessDDlg 메시지 처리기 BOOL CModelessDDlg::OnInitDialog() { ... //Dialog 1 Initialize m..
Visual Studio 2012 아래와 같이 부모다이얼로그가 항상 자식다이얼로그보다 아래에 위치하는 현상이 있다. 이럴때는 다이얼로그 생성하는 코드를 다음과 같이 변경 한다. // ModelessDDlg.cpp : 구현 파일 // // CModelessDDlg 메시지 처리기 BOOL CModelessDDlg::OnInitDialog() { ... //Dialog 4 Initialize CDialog4 *m_dlg4 = new CDialog4(this); m_dlg4->Create(IDD_DIALOG4, CWnd::GetDesktopWindow()); ... } 생성함수에 CWnd::GetDesktopWindow()을 추가하게 되면 아래와 같이 활성화 된 창이 앞으로 오게된다.
Visual Studio 2012 CMFCBUTTON을 활용하여 버튼 클릭 시 버튼에 색 입히기 1. CMFCBUTTON 리소스 추가 후 변수 생성(m_btn_Pic1) * 리소스 창 - 버튼 마우스 우측 버튼 클릭 - 변수 추가 * 변수 형식 : CMFCBUTTON (화면에서는 오버라이딩한 CMyButton을 사용하고있다.) 2. 버튼에 윈도우 테마 제거 * 기본으로 버튼에 테마가 있는데 제거하지 않으면 버튼 색상이 변경되지 않음 // ModelessDDlg.cpp : 구현 파일 // BOOL CModelessDDlg::OnInitDialog() { ... m_btn_Pic1.EnableWindowsTheming(FALSE);//버튼에 색 입히려면 기존 윈도우 테마 사용하면 안됨 return TRUE;..
Visual Studio 2012 버튼에 마우스 커서를 위로 올리거나(Hover) 버튼에서 벗어날 시(Leave)의 마우스 이벤트 추가하기 1. 사용하는 버튼의 클래스 상속 받기 (CMFCBUTTON) * 클래스 마법사 - 클래스 추가(우측 화살표 클릭) - MFC 클래스.. * 파생 클래스 추가(CMyButton) 2. 메시지 추가 * WM_MOUSEHOVER, WM_MOUSELEAVE, WM_MOUSEMOVE 3. 소스 추가 * Flag용 변수 추가 및 초기화(m_bCursorOnButton) // MyButton.h class CMyButton : public CMFCButton { ... public: CMyButton(); virtual ~CMyButton(); BOOL m_bCursorOnBu..
Visual Studio 2012 MFC 대화상자에서 최소화, 최대화, 복원, X버튼(종료)시의 이벤트 핸들링하기 1. 클래스 마법사에서 WM_SYSCOMMAND 처리기 추가 - 시스템 버튼들을 누르면 WM_SYSCOMMAND 메시지가 발생한다. * 클래스마법사 - 클래스이름 확인 - 메시지 - WM_SYSCOMMAND 처리기 추가 2. 코딩 구현 - wParam에 현재 발생된 시스템 명령을 받고, 이것을 비교하여 원하는 시스템 명령에서만 동작하게 구현 void CDialog3::OnSysCommand(UINT nID, LPARAM lParam) { // TODO: 여기에 메시지 처리기 코드를 추가 및/또는 기본값을 호출합니다. if(nID == SC_CLOSE) { //종료버튼 눌릴 시 } else i..
Visual Studio 2012 1. SQLITE3 관련 파일 다운 - 페이지 참조 : https://sqlite.org/download.html - Source Code 와 Precompiled binaries for Windows 다운 받아 압축 해제 * 32bit는 x86, 64bit는 x64 2. Lib 파일 만들기 - VS2012용 개발자 명령 프롬프트를 실행하고, sqlite3.def 파일이 있는 폴더로 이동한다. - "LIB /DEF:sqlite3.def /machine:x86" 실행하여 sqlite3.lib파일 생성 3. Visual Studio 프로젝트 세팅 - 프로젝트 안에 sqlite3.h, sqlite3.lib, sqlite3.dll 파일을 복사 - 솔루션 탐색기를 활용하여 헤더에..
목표 : 대화상자 기반으로 ADO를 활용하여 DB와 연동하기소주제 : ADO 사용하여 DB 테이블 컬럼(필드) 추가 / 삭제Visual Studio 2012 1. 다이얼로그에 필요한 컨트롤 추가 * 버튼: DB읽기, 컬럼추가, 컬럼삭제 * EDIT BOX: 컬럼명 * DB 연결 후에 작동 가능하므로 기본 Disable 적용 2. DB 연결 시의 컨트롤 활성화/비활성화 적용 void CDialog1::OnBnClickedBtnConnect() { // TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다. if(m_Adodb.isConnected==false) { if(m_Adodb.InitDB("sa", "dbtest", "127.0.0.1","dbTest","1433") == FALSE) { ... ..
목표 : 대화상자 기반으로 ADO를 활용하여 DB와 연동하기소주제 : ADO 사용하여 DB 연결 시 List Control 핸들하기(컬럼 개수파악해서 표시)Visual Studio 2012 1. Flag용 변수 추가 및 초기화 // Dialog1.h // CDialog1 대화 상자입니다. class CDialog1 : public CDialogEx { ... private: int m_ColumnIdx;//테이블 컬럼 인덱스 char m_ColumnName[10][100];//테이블 컬럼명 BOOL isReadOnce;//처음 연결 Flag ... } // Dialog1.cpp : 구현 파일입니다. // //변수 초기화 CDialog1::CDialog1(CWnd* pParent /*=NULL*/) : C..
- Total
- Today
- Yesterday
- 항공알파벳
- MSSQL
- c++
- Modeless
- MFC Modeless
- SendMessage
- 청년내일채움공제 만기신청
- 해외송금확인
- 전자신고파일설명서
- CMFCBUTTON
- 스티커메모로드중
- 스쿠트항공 환불받기
- 모달리스
- 모달리스 다이얼로그
- 부가가치세
- ADO
- sqlite3
- Sticky Notes Loading
- 프로세스이름변경
- MFC
- 청년내일채움공제
- MFC ADO
- 소켓
- 전자신고변환
- MXCOMPONENT
- 법정동코드
- 부가가치세전산매체
- ADODB
- #자동업데이트
- 세금계산서합계표양식
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |