MFC 설명참조
C언어가 정리되어 있는 프로그램! 그러나 시간이 오래된 만큼 -_-a 시대적 가치가 떨어진다. 그러나 초보자들이라면 한번쯤 훌터봐줄만하다. 만든이를 생각해서랃. ㅋ
비절스튜디오 소스를 thml 로 올릴때 편하게 색상을 넣어주는 녀석이 있다. 나름 쓸만하니, 괜찮다. 그러나, 원하는 만큼 되지 않아서... 만들어볼까 생각한다. 최대한,, 빨리 만들려구 한다.
참조 URL : http://cafe.naver.com/visionjx/7 현재 파일을 올리고 있는 중인 것 같습니다. 만약에 클래스가 계속해서 뜨지 않으면 다음과 같이 하세요. 1. VC를 종료합니다. 2. 프로젝트 폴더에 있는 다음 파일을 지웁니다. xxx.plg xxx.opt xxx.clw xxx.ncb 3. xxx.dsw를 더블클릭해서 VC 프로젝트을 오픈합니다. 4. 메뉴의 [view->class ward]를 클릭합니다. 5. Add All를 선택합니다. 6. 확인을 선택합니다. 7. 저장합니다. 그러면 예전의 모습을 볼 수 있을 겁니다. 수고하세요.
발발 MFC랑 API 랑 동시에 작업을 하다가 생기는 문제점 example e:\program files\microsoft visual studio\vc98\mfc\include\afxv_w32.h(14) : fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include 위에 증거 사진을 보면 Console.cpp 다음에 에러가 난다. 에러난 위치를 정확히 알려주지 않으면 저런씩으로 디버깅을 하면된다. 즉,, 저파일을 컴파일 하는데 에러가 뜨니깐, 출력창에 VS가 출력을 해주는 것이다. ㅇㅋ? 그럼,,,, 그쪽 파일에가서 #include "stdafx.h" 파일을 추가해준다. 당연!! API 에서 사용하..
An unsupported operation was attempted 이유? 간단명료! MFC 다이얼로그에서 Edit 박스를 만들구나서 그냥 Delete 로 삭제하는 바람에 DDX가 연결이 안되니 뜨는 메시지 창이다. 해결방법은 간단하다. 아시다시피! 자기가 직접 만들었으니, 삭제도 간편 하니깐! 방법만 설명 한다. 1. 해당 다이얼로그 *.h 로 간다. 해당 다이얼로그에서 삭제한 Edit 박스와 연결된 변수들을 주석처리한다. (완료가 된 이후에 주석처리한 명령라인을 지우길 바람 - 에러나면 어떻게 하려구?) 2. 해당 다이얼로그 .cpp 로 간다. 초기화, DDX셋팅 관련된 부분에 주석처리를 한다. 3. 기타 타 클래스에서 값을 주고 받고 하게되는데 그 루틴을 삭제한다. 4. 만약, INI, text ..
숫자를 문자열로 변환해준다..........' 간단간단! /* sscanf과 sprintf의 사용 여러함수가 있지만 그중에서 모든 기본 데이타형에 대하여 변환이 가능한 sscanf, sprintf를 소개합니다. sscanf은 scanf 과 sprintf은 printf과 사용법이 거의 같으므로 간단히 사용할 수 있습니다.*/ /* 문자열을 숫자로 변환하는 함수와 int atoi long atol, strtol unsigned long strtoul double atof, strtod long double _atold _strtold any basic types sscanf ... ... ... 숫자를 문자로 변환하는 함수 itoa int ultoa unsigned long ... ... sprintf an..
WinMainCRTStartup -> CWinApp::CWinApp -> CMyApp::CMyApp @ -> WinMain -> ::AfxWinMain -> ::AfxGetApp @ -> ::AfxWinInit -> ::AfxInitThread @ -> CWinApp::InitApplication @ -> CWinApp::InitInstance -> CSingleDocTemplate::CSingleDocTemplate @ -> CWinApp::AddDocTemplate @ -> CWinApp::ParseCommandLine @ -> CWinApp::ProcessShellCommand -> CWinApp::OnFileNew -> CDocTemplate::OpenDocumentFile ① -> CWinApp..
MFC 를 만들다가...그리고 - 크론텝이라는 프로그램을 만들다가 _ 보니 MFC의 타이틀 바가 신경 쓰이기 시작했다... 기본적으로 MFC의 MDI 는 이렇게 되어있다. 아래의 그림처럼 Main Title Name - [ Child Title Name] 형식으로 되어있다. 크론텝(Crontab) 라는 프로그램을 만들기 시작하면서 _ 타이틀바의 제목이 기니깐 짜증이 났다. 우갸우갸~!!( 귀찮니즘 ) 그래서 !! MFC 의 타이들을 아래의 그림처럼 하나로 통합하면 안될까? 한다. 방법은 간단하다 MainFrm.cpp 에서 BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) { if( !CMDIFrameWnd::PreCreateWindow(cs) ) return FA..
API 함수를 사용하면서 TRACE를 이용하여 Debugging 을 하는 방법은 아래와 같다. #include "windows.h" #include // vsprintf() int TRACE(char *format, ...) { // 한개의 매시지 길이가 1024개를 넘는 경우는 // 애러가 발생한다. 그러므로 매시지는 잘라서 여러번 찍어서 // 사용할 수 있도록 한다. static char Message_Buffer[1024]; // format 스트링의 길이가 512 보다 큰경우는 처리 하지 않도록 // 함. -> 애러의 소지가 있음 .,,. ^^ if(strlen(format) > 512) return FALSE; va_list arglist; va_start( arglist, format ); v..
오늘의 삽질, 템플릿 싱글턴 디자인 패턴을 DLL 화 시키는 것이다. 답은 쉽군아.!? 원래 간단한걸 원했으니깐, 말이다. 졸리기 시작하니 후다닥 정리를 하자. 먼저, 이번 Part 1 에서는 목표를 정했다. 묙표는 1. 클래스 1개를 DLL 로 만들기 - ifndef, endif 를 이용한 방법 획득! 2. 클래스 2개를 사용하여 DLL 로 만들기 - 1개의 각각의 클래스를 독립적으로 되면 1번과 다름이 없다. 2개의 클래스는 StudentManager 와 Student의 관계이다. 즉, Student 는 StudentManager에 내포되는 클래스이다. 3. Singletone Design pattern 의 사용 - StudentManager 클래스는 template Singletone 의 클래스의 ..
C/C++ 에서 # 기호가 첫 문자로 오면 컴파일러 지시자라고 합니다. #include, #define, #if ,#ifdef .... 등이 있습니다. #ifdef 는 #define으로 정의된 것이 있는지 판단합니다. 예를 들어 아래와 같은 소스가 있다고 하면... ---------------------------------------------- #include "config.h" void MyDeleteFile(char * szFileName ) { #ifdef _sun _unlink(szFileNAme); #endif #ifdef _WIN32 DeleteFile(szFileName); #endif } ----------------------------------------------- 위 코드는 #..