mfc_calander - 8BitsCoding/RobotMentor GitHub Wiki


Static TextλŠ” μ•„λž˜μ™€ 같이 μ„€μ •ν•œλ‹€.

이미지

  • Align Text : ν…μŠ€νŠΈ μˆ˜ν‰ μ •λ ¬
  • Center Image : ν…μŠ€νŠΈ 수직 μ •λ ¬
  • Sunken : Static Text 살짝 λ“€μ–΄κ°„ 효과

Calender Ctrl 우클릭 -> 이벀트 처리기 λ§ˆλ²•μ‚¬

이미지

MCN_SELCAHNGE 선택 : λ‚ μ§œλ₯Ό λ³€κ²½


μ—λ””νŠΈ 컨트둀의 속성은 μ•„λž˜μ™€ 같이 λ‘”λ‹€.

이미지

void CMFCApplication1Dlg::OnMcnSelchangeMyCalendar(NMHDR *pNMHDR, LRESULT *pResult)
{
	// LPNMSELCHANGE pSelChange = reinterpret_cast<LPNMSELCHANGE>(pNMHDR);
	SYSTEMTIME cur_time;
	m_my_calendar.GetCurSel(&cur_time);		// 달λ ₯의 ν˜„μž¬ λ‚ μ§œμ •λ³΄λ₯Ό λ„˜κΈ΄λ‹€.

	wchar_t * p_week_str[7] = { L"일",L"μ›”", L"ν™”", L"수", L"λͺ©", L"금", L"ν† " };
	CString str;
	str.Format(L"%dλ…„ %dμ›” %d일 [%sμš”μΌ]", cur_time.wYear, cur_time.wMonth, cur_time.wDay, p_week_str[cur_time.wDayOfWeek]);
	// cur_time.wDayOfWeek = μš”μΌμ •λ³΄
	SetDlgItemText(IDC_DATE_STATIC, str);

	str.Format(L"%04d%02d%02d.dat", cur_time.wYear, cur_time.wMonth, cur_time.wDay);

	FILE * p_file;
	if (0 == _wfopen_s(&p_file, str, L"rt,ccs=UNICODE")) {
		wchar_t temp_str[1024];
		str.Empty();

		while (fgetws(temp_str, 1024, p_file) != NULL) {
			str += temp_str;
		}
		str.Replace(L"\n", L"\r\n");
		fclose(p_file);

		SetDlgItemText(IDC_NOTE_EDIT, str);
	}
	else
	{
		SetDlgItemText(IDC_NOTE_EDIT, L"");
	}

	if(*pResult !=NULL) *pResult = 0;
}
void CMFCApplication1Dlg::OnBnClickedSetBtn()
{
	SYSTEMTIME cur_time;
	m_my_calendar.GetCurSel(&cur_time);

	CString str;
	str.Format(L"%04d%02d%02d.dat", cur_time.wYear, cur_time.wMonth, cur_time.wDay);

	FILE * p_file;
	if (0 == _wfopen_s(&p_file, str, L"wt,ccs=UNICODE")) {
		GetDlgItemText(IDC_NOTE_EDIT, str);
		str.Replace(L"\r\n", L"\n");
		fwrite((const wchar_t*)str, (str.GetLength() + 1)*2, 1, p_file);
		fclose(p_file);
	}
}
BOOL CMFCApplication1Dlg::OnInitDialog()
{
	CDialogEx::OnInitDialog();

	// 이 λŒ€ν™” μƒμžμ˜ μ•„μ΄μ½˜μ„ μ„€μ •ν•©λ‹ˆλ‹€.  μ‘μš© ν”„λ‘œκ·Έλž¨μ˜ μ£Ό 창이 λŒ€ν™” μƒμžκ°€ 아닐 κ²½μš°μ—λŠ”
	//  ν”„λ ˆμž„μ›Œν¬κ°€ 이 μž‘μ—…μ„ μžλ™μœΌλ‘œ μˆ˜ν–‰ν•©λ‹ˆλ‹€.
	SetIcon(m_hIcon, TRUE);			// 큰 μ•„μ΄μ½˜μ„ μ„€μ •ν•©λ‹ˆλ‹€.
	SetIcon(m_hIcon, FALSE);		// μž‘μ€ μ•„μ΄μ½˜μ„ μ„€μ •ν•©λ‹ˆλ‹€.

	// TODO: 여기에 μΆ”κ°€ μ΄ˆκΈ°ν™” μž‘μ—…μ„ μΆ”κ°€ν•©λ‹ˆλ‹€.
	m_font.CreatePointFont(160, L"κ΅΄λ¦Ό");
	m_my_calendar.SetFont(&m_font);
	m_date_static.SetFont(&m_font);

	// μ‹œμž‘ν•˜λ©΄μ„œ λ°”λ‘œ λ‚ μ§œ λ‚˜μ˜€κ²Œ ν•˜κΈ°
	OnMcnSelchangeMyCalendar(NULL, NULL);

	return TRUE;  // 포컀슀λ₯Ό μ»¨νŠΈλ‘€μ— μ„€μ •ν•˜μ§€ μ•ŠμœΌλ©΄ TRUEλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.
}