190717-3 워커 스레드 : MFC 를 사용한 네모계속그리는 쓰레드를 만들어보자 static UINT WorkerThread(LPVOID param); //* static 함수만 가능 UINT CWTView::WorkerThread(LPVOID param) { //* Data* pd = (Data*)param; CClientDC dc(pd->m_pWnd); CPoint pt = pd->m_pt; delete pd; for (int count = 0; count
190718-2 MDI SDI 1.CWinApp 2.CFrameWnd 3.CDocument 4.CView MDI 1. CWinApp 2-1. CMDIFrameWnd 2-2. CMDIChildWnd 3. CDocument 4. CView Document Template : 데이터에 따라서 틀이 만들어 지더라. 데이터에 따라서 뷰가 결정되고 외관의 틀이 결정되고 리소스가 결정되고... BOOL CMDIApp::InitInstance() // 애플리케이션의 문서 템플릿을 등록합니다. 문서 템플릿은 // 문서, 프레임 창 및 뷰 사이의 연결 역할을 합니다. CMultiDocTemplate* pDocTemplate; pDocTemplate = new CMultiDocTemplate(IDR_MDITYPE, RUNT..
190718-1 생성(실행)순서 1. App객체의 생성자 2. Doc생성자 3. Frame생성자 4. View생성자 닫기 버튼 클릭! 5. View 소멸 6. Frame 소멸 7. Doc 소멸 8. (App 객체 소멸) OnCreate에서 자식윈도우를 선택 앱의 생성자 CSDIApp::InitInstance Doc생성자 Frame생성자 Frame::onCreate() View생성자 CSDIDoc::OnNewDocument CSDIView::OnInitialUpdate() m_pMainWnd->ShowWindow(SW_SHOW); CSDIApp::Run() 닫기 버튼 CSDIView::~CSDIView() CMainFrame::~CMainFrame() CSDIDoc::~CSDIDoc() (내부적으로 APP..
190717-Study - 복사로 아래 텍스트 영역에 텍스트 복사하기 #UpdateDate(TRUE) #UpdateDate(FALSE) - Hide/Show 로 컨트롤 보이기 숨기기 #GetWindowText #ShowWindow #SW_HIDE #SW_SHOW #SetWindowTextW() - 스크롤바 다이얼로그 부분 초기화 작업 및 닫았을 때 처리하기 #InitDialog #OnClose #PostNcDestroy #GetActiveView #delete this - 스크롤바 변경시 처리 #pScrollBar #SB_LINELEFT #UpdateBrushColor - 좌표이동하는 모달 다이얼로그 pos로 데이터를 얻어와서 전부 해당 x,y값 만큼 이동한다. #OffsetRect() 로 좌표를 이동한..
190717 - 4 사각 정보 이동 다이얼로그 만들기 이벤트 처리기를 Doc에 생성 출처링크 프레임은 어디서든지 메인프레임을 얻을 수 있다. #include "MainFrm.h" CMainFrame* pFrame = (CMainFrame*)AfxGetMainWnd(); void CCBDoc::OnRectmove() { CMoveDlg dlg; if (IDOK == dlg.DoModal()) { // TODO: 정보 변경 하는 코드 추가 POSITION pos = m_rtList.GetHeadPosition(); while (pos) { CRect& rt = m_rtList.GetNext(pos); rt.OffsetRect(dlg.m_nX, dlg.m_nY); } //방법1 pos = this->GetFi..