본문 바로가기

MFC

(28)
MFC에서 OpenGL 사용하기 MFC에서 OpenGL 사용하는 방법에 대한 설명입니다. 설명과 함께 샘플 파일을 업로드 합니다. MainFrame Class Step 1: In the Mainframe Class override the initial dimensions of the default Window. Using the CREATESTRUCT we change the dimensions of the window to 400 x 400 BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) { // TODO: Modify the Window class or styles here by modifying // the CREATESTRUCT cs cs.cx=400; cs.cy=400; return ..
[CODE 바로가기] 프로그램 중복 실행 방지코드 프로그램의 중복 실행을 막을 필요가 있는 프로그램은 뮤텍스를 이용하여 처리할 수 있다. App 클래스내의 InitInstance()함수내에 가장 첫라인에 다음 코드를 추가한다. HANDLE hMutexOneInstance = ::CreateMutex(NULL, TRUE, _T("")); if(hMutexOneInstance!=NULL && ::GetLastError() == ERROR_ALREADY_EXISTS) exit(1);
조이스틱 컨트롤 에뮬레이션 로봇을 수동으로 조종할 수 있는 방법은 많이 있다. PC를 사용한다면, 키보드, 마우스, 조이스틱등등... 이밖에도 블루투스같은 통신이나 무선랜을 이용하여 수동제어 하는 방법들이 있다. 실제 마우스로 조종을 하지만, 조이스틱과 같은 UI를 가진 조종 프로그램이 있다면 어떨까.. 실제로 많은 개발자들은 핵심적인 기능구현에 많은 시간을 투자한다. 사실 그게 맞다. 하지만 기능구현과 더불어 중요한것이 바로 GUI이다. 화려한 GUI를 요구하는 시스템은 분명 아닐것이라는 가정하에, GUI는 단순히 보여주는 그 이상의 기능을 해야한다. 로봇이나 컴퓨터가 사람에게 어떠한 정보를 전달 해 줄 수 있는 매개체가 무엇이겠는가... 사운드, 모니터뿐 아니겠는가... 최대한 사용자는 소프트웨어를 사용하기 쉬워야 하고, 복잡..
[CODE 바로가기] 리스트컨트롤(ListCtrl) Row Index 얻어오기 리스트컨트롤(Listctrl)의 Row의 index를 얻어오는 코드. 내가 선택한 줄이 몇번째 줄인가를 얻어와야 해당 라인의 각 컬럼에 속한 값들을 얻어올 수 있다. void CTestDlg::OnNMDblclkStatusLst(NMHDR *pNMHDR, LRESULT *pResult) { //LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast(pNMHDR); // TODO: Add your control notification handler code here NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; int itemindex = pNMListView->iItem; *pResult = 0; } 위 코드는 리스트컨트롤의 ..
inline함수의 사용과 그 의미 출처 URL : http://kelp.or.kr/korweblog/stories.php?story=01/08/10/9978807 인라인 함수(inline function) 이 예약어를 함수명 앞에 사용하면 함수가 호출할 때마다 마치 매크로 확장인양 새로운 함수 코드 블럭의 복사본이란 놈이 함수가 호출된 위치에 쑤욱 삽입된다. 특징은 #define문을 사용하는 매크로의 부작용(side effect : 아래에 설명함)을 막아주고 둘째는 일반 함수를 호출할 때 걸리는 부하를 없애주기도 한다. 이놈은 매크로와 일반함수의 기능을 모두 갖는다. 그러나 함수의 코드 블럭이 여러 곳에 나타나기 때문에 실행 코드가 커지는 단점을 갖는다. 이제 inline함수가 어떤 모습을 했는지 아래를 보면 알 수 있다. 일반적인 cp..
visual c++ 2008 runtime library 재배포 가능 패키지 visual studio에서 'Setup Project'를 통해 배포파일을 만들려고 한다. 만들어 놓고, 설치를 하고 난뒤에 문제가 있어 다시 코드 수정을 하려고 하는데.. 이런! "하나 이상의 구성 요소를 찾을 수 없습니다. 응용 프로그램을 다시 설치하십시오." 라는 메세지박스가 뜨더니, vs2008이 실행이 안된다... 젠장! 누군가 해결책을 가지고 있지 않겠는가... 재배포 가능 패키지 만들때 주의사항 및 해결책 : http://iwoohaha.tistory.com/14
static 멤버변수 사용하기 클래스 멤버변수로 static을 사용하기위한 방법이다. //Robots.h파일 class CRobots : public XXX { public: static int motor[10]; //
'warning C4651' 의 해결책은 'rebuild all'이다. Visual Studio 2008을 사용한다. 보통 Debug모드로 컴파일을 하다가 배포버젼을 만들기위해 Release로 컴파일하면.. 가끔 이런 워닝이 뜬다. warning C4651: '/DUNICODE' specified for precompiled header but not for current compile warning C4651: '/D_UNICODE' specified for precompiled header but not for current compile 이때, 당황하지 말고..MSDN 또는 네이버형에게 물어본다. MSDN : http://msdn.microsoft.com/ko-kr/library/h6dykdte(VS.80).aspx msdn을 따라가면 이렇게 표시되어 있다. 컴파일러 ..