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_..
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
- 모달리스 다이얼로그
- sqlite3
- 전자신고파일설명서
- SendMessage
- MFC
- #자동업데이트
- 스티커메모로드중
- 해외송금확인
- 스쿠트항공 환불받기
- 법정동코드
- CMFCBUTTON
- 부가가치세전산매체
- Sticky Notes Loading
- 청년내일채움공제
- 모달리스
- 항공알파벳
- ADO
- MXCOMPONENT
- ADODB
- c++
- Modeless
- MFC Modeless
- 소켓
- 세금계산서합계표양식
- MSSQL
- 프로세스이름변경
- 부가가치세
- 전자신고변환
- MFC ADO
- 청년내일채움공제 만기신청
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |