본문 바로가기
반응형

C & C++444

마이크로 세컨드 단위로 실행시간 측정하기 출처 - 여기여기 다음 예제는 윈도우 환경에서 마이크로 세컨드 단위로 실행시간을 측정하는 방법에 대해서 설명하고 있습니다. 본 예제를 수행하기 위해서는 하드웨어 수준에서 고성능 타이머를 지원해야 하며, 고성능 타이머에 대한 지원 유무는 QueryPerformanceFrequency() 의 리턴값으로 확인이 가능합니다. => QueryPerformanceFrequency() 리턴값이 'TRUE' 일 경우 하드웨어 수준에서 고성능 타이머를 지원함. #include #include __int64 GetMicroSecond() { LARGE_INTEGER frequency; LARGE_INTEGER now; if ( !QueryPerformanceFrequency(&frequency) ) return (__in.. 2014. 10. 29.
GDI+ 설정(셋팅) 하기 아래는 GDI+를 사용하기위한 셋팅입니다. 먼저 MFC프로젝트를 생성하고 1.stdafx.h에 #include #pragma comment(lib, "gdiplus") using namespace Gdiplus; 2. CxxxxxApp의 header파일에 ULONG_PTR m_gpToken; 3. CxxxxxApp의 Cpp파일에 아래 함수에 내용 추가 BOOL CxxxxxxApp::InitInstance() GdiplusStartupInput gdiplusStartupInput; if(GdiplusStartup(&m_gpToken, &gdiplusStartupInput, NULL) != Ok){ AfxMessageBox(_T("GDI+를 초기화 하는데 실패했습니다.")); return FALSE; } i.. 2014. 8. 14.
화면에 글씨를 써보자. CFont 사용법 출처 - 여기여기 // 1. DC 얻기CClientDC cClientDC(this); // 2. CFont 선언CFont cFont;CString strTitle = _T("CFont 예제"); // 3. 폰트생성cFont.CreateFont ( 20, // 글자높이 10, // 글자너비 0, // 출력각도 0, // 기준 선에서의각도 FW_HEAVY, // 글자굵기 FALSE, // Italic 적용여부 FALSE, // 밑줄적용여부 FALSE, // 취소선적용여부 DEFAULT_CHARSET, // 문자셋종류 OUT_DEFAULT_PRECIS, // 출력정밀도 CLIP_DEFAULT_PRECIS, // 클리핑정밀도 DEFAULT_QUALITY, // 출력문자품질 DEFAULT_PITCH, // 글꼴P.. 2014. 8. 13.
MFC 화면 화면 최대화, 최소화, 복귀시 처리 (OnSize 이벤트) WM_SIZE 메시지함수를 이용해서 파악할수 있다.화면 최대화, 최소화, 복귀시 화면 사이즈 변경이 일어나게 되면 이함수를 호출하는데이때 호출상태를 검사해서 작업을 수행한다. void CMainFrame::OnSize(UINT nType, int cx, int cy){ CFrameWnd::OnSize(nType, cx, cy); // 윈도우가 처음 생성될 때 SIZE_RESTORED 이벤트가 발생하므로 이것을 처리해주면 된다. if(nType == SIZE_MINIMIZED){ //창의 최소화시 처리 }else if(nType == SIZE_RESTORED){ //창의 복귀화시 처리 } else if(nType == SIZE_MAXIMIZED) { //창의 최대화시 처리 } } 2014. 7. 25.
리스트(CListctrl)에서 체크상자(체크박스) 변경 확인하기 리스트(CListctrl)에 체크상자(체크박스)를 넣었을때 체크상자(체크박스)의 변경 상태를 확인하고자 할때 사용하는 방법이다. void CExportS2KResultView::OnNMClickListAnalResult(NMHDR *pNMHDR, LRESULT *pResult) { LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast(pNMHDR); // Checkbox HitTest LVHITTESTINFO oInfo ; oInfo.pt = pNMItemActivate->ptAction ; m_listCtrl.HitTest(&oInfo) ; /// Check Box Icon Click if( oInfo.flags == LVHT_ONITEMSTATEICON ) { .. 2014. 7. 23.
MFC 프로그램의 실행 흐름 요약 출처 - 여기여기 프로젝트 이름은 Temp라고 했을 때,각 추적점 및 TRACE를 추가하여 프로그램을 실행시킨 결과는 다음과 같다.이 결과는 소스코드의 어느 클래스의 어느 함수부터 순서대로 실행되는지를 잘 보여주는 예이며,이 실행흐름을 잘 알아둬야 한다고 한다!! CTempApp::CTempApp() ------ App 클래스 변수가 전역변수로 선언되어있으므로 제일 먼저 생성자가 호출된다CTempApp::InitInstance() ------ MFC 코드에 숨겨진 AfxWinMain함수에서 호출된다. (프로그램의 설정정보 로딩, 파라미터 처리등을 담당)CTempDoc::CTempDoc(void) ------ InitInstance()에 의해 Document 객체가 제일먼저 생성된다CMainFrame::C.. 2014. 7. 10.
반응형