MFC/Microsoft Foundation Class 2011. 2. 7. 09:22

void SendString()
{
CString msg= "msg";
SendMessage(m_hWnd,WM_MYMESSAGE,(WPARAM)&msg,0);
}

void RevMessage(WPARAM w,LPARAM l)
{
CString* temp = (CString*)w;
CString msg;
msg.Format("%s",*temp);
......
}
쉽게말해서 주소값을 보내서 포인터로 받은 후 계속 포인터로 사용하는기 보다는
다른 CString을 선언해서 일반 CString으로 사용
:
MFC/Microsoft Foundation Class 2011. 1. 24. 10:47

void CALLBACK 함수명(HWND hWnd, UINT nID, UINT nEl, DWORD time)
{
//구현부분	
}

Callback 함수의 원형으로 해당 형태의 함수명를 Settime의 3번째 인자로 넣어주면
지정한 시간마다 해당 함수가 호출된다
void CALLBACK time2(HWND hWnd, UINT nID, UINT nEl, DWORD time)
{
	CWnd* m_pWnd = AfxGetMainWnd();
	CTimer_CheckDlg* m_pParent = (CTimer_CheckDlg*)m_pWnd;
	m_pParent->m_pro1.StepIt();
	m_pParent->m_pro2.StepIt();
	m_pParent->m_pro3.StepIt();
}
void CALLBACK time1(HWND hWnd, UINT nID, UINT nEl, DWORD time)
{
	CWnd* m_pWnd = AfxGetMainWnd();
	CTimer_CheckDlg* m_pParent = (CTimer_CheckDlg*)m_pWnd;
	CString time_edit;
	time_edit.Format("1번 TIME COUNT : %d",m_pParent->cnt++);
	m_pParent->m_edt = time_edit;
	m_pParent->UpdateData(FALSE);
}
BOOL CTimer_CheckDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Add "About..." menu item to system menu.

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	cnt = 0;
	SetTimer(1,1000,time1);
	SetTimer(2,1000,time2);

	m_pro1.SetRange(0,1000);
	m_pro2.SetRange(0,2000);
	m_pro3.SetRange(0,3000);
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}
:
MFC/Microsoft Foundation Class 2011. 1. 19. 15:54

GetActiveView()

현재 View의 포인터를 얻는다

 

CCreateContext

현재의 FrameWindow,Document,View등의 정보를 저장하는 집합

 

OnInitialUpdate()

View가 윈도우를 생성된 후 Document에서 호출되는 가상함수(document View에게 초기화 할 기회를 부여한다) View가 생성될 때 먼저 Document가 준비되어 있어야 한다.

Document없이 만들어진 View라면 해당함수는 호출되지 않는다 

SetActiveView(CView* view)

View를 설정한다

 

SetDlgCtrlID

윈도우 ID나 윈도우 컨트롤을 위한 아이디를 새로운 값으로 설정

다이얼로그의 컨트롤 뿐만 아니라 어떠한 자식 윈도우고 가능하다. 최고 Lever의 창으로 설정불가

AFX_IDW_PANE_FIRST를 인자로 넣으면 해당 뷰를 첫번째뷰로 활성화 시킨다

 

RecalcLayout()

현재 프레임 윈도우에 붙어있는 모든 툴바들과 내부의 View Window의 크기를 다시 계산하여 WM_SIZE 메시지를 발생시켜주고 윈도우를 업데이트 한다.


: