UINT ThreadFunc_WAIT(LPVOID pParam); class CBookingDlg : public CDialog { . . . private: CWinThread* m_pThread; }; void CBookingDlg::OnBnClickedButtonBuy() { . . . // 쓰레드 처리 m_pThread = AfxBeginThread(ThreadFunc_WAIT, this); // 쓰레드로 처리할 함수명와 전달 인수(Dlg를 변수) } UINT ThreadFunc_WAIT(LPVOID pParam) // 스레드 함수는 반드시 '외부함수'로 선언해야 한다. { CBookingDlg *pDlg = (CBookingDlg*)pParam; . . . return 0; // 스레드 자동 소..
1. MDI 방식에서 사용자가 추가한 클래스에서 MainFrame, View 접근 방법 메인프레임 : AfxGetMainWnd(); 열려있는(최상위) 프레임 : (CMainFrame*)AfxGetMainWnd())->GetActiveFrame(); 열려있는(최상위) 뷰 : ((CMainFrame*)AfxGetMainWnd())->GetActiveFrame()->GetActiveView(); CStockView* pView = (CStockView*)((CMainFrame*)AfxGetMainWnd())->GetActiveFrame()->GetActiveView(); 2. 다이얼로그 방식인 경우 CStockOrderClientDlg* pDlg = (CStockOrderClientDlg*)AfxGetMain..
기존 프로젝트에 소켓 추가하기 MFC에서 소켓을 지정했을경우 첫번째 APP의 InitInstance에서 소켓 라이브러리 초기화 BOOL CMyApp::InitInstance() // 다이얼로그 방식이면 ~Dlg::OnInitDialog() 에서 추가 { if (!AfxSocketInit()) { AfxMessageBox("Windows 소켓 초기화에 실패하였습니다."); return FALSE; } .... } 두번째 stdafx.h에 소켓헤더 추가 #include // MFC socket extensions 아래 윈속 프로그래밍 순서대로 하면 된다. ================================================= 윈속 프로그래밍 A. 서버 구현 프로젝트 만들때 옵션에서 Wind..