PreTranslateMessage() 함수 생성

 

     if(pMsg->wParam == VK_RETURN || pMsg->wParam == VK_ESCAPE)
          return TRUE;

 

추가하면 완료.

 

말그대로, 이벤트를 먼저 처리하는 구문이 바로 PreTranslateMessage() 함수인데, 여기서 키 입력 파라미터인 wParam 에서 VK_RETURN (엔터키) 와 VK_ESCAPE (Esc키)가 눌러졌을때, 걍 True로 리턴하라는 뜻. 

 

참고사이트: http://lafirr.tistory.com/20

Posted by Tommy™
,

컴퓨터를 포멧 후 새로 Visual studio 2012를 설치 후 필요한 업데이트를 완료, 그리고 프로젝트를 로드하는데, 갑자기 처음보는 에러 문구가 뜬다.

 

"activitylog.xml error" 하면서 프로젝트가 로드가 안된다나..

 

문제가 뭔가 싶어 이리저리 구글링하다가 찾은 원인은 "플러그인의 충돌"떄문에 일어난 문제라고 한다.

 

그리고 찾은 솔루션은 다음과 같다.

 

 

 

1. Visual studio 2012 의 메뉴에서 도구 -> 확장 및 업데이트 선택

 

2. Visual assist x 사용안함 선택

 

3. 재시작

 

4. 다시 도구 -> 확장 및 업데이트 항목으로 가서 visual assist x 사용함 설정

 

4. 재시작

 

 

 

아마도 어떠한 문제 때문이었는지는 모르겠지만, 다음과 같이 처리함으로써 해당 오류를 해결할수 있엇다.

 

 

 

 

 

참고 : http://bangcfactory.tistory.com/133

 

 

Posted by Tommy™
,

두개의 형변환방법이 엄청 자주 사용된다.

 

사용법은 아래와 같이 아주 간단!

 

 

CString -> int

int형 변수 = _ttoi( CString 변수 );
_ttoi()를 이용


int -> CSting
CString 변수.Format( _t("%d"), int 변수 );
CString의 Format() 메소드를 이용

 

출처 : http://tasia.tistory.com/129

 

 

Posted by Tommy™
,

아주 유용한 소스코드일듯하다.

 

MFC에서 CString형을 이용하여 string을 쉽게 컨트롤 할 수 있다.

 

이때 경로, 파일명, 확장자 등을 구분하여 출력해야하는 상황이 있는데, 이때 해당 소스코드를 활용하면 될듯하다.

 

 

// Type
// 0: 파일 경로만 복사
// 1: 파일 이름만 복사
// 2: 파일 확장자 복사
// 3: 확장자를 뺀 파일명 복사


CString strClip(CString str, int nType)
{
 //파일 Full Path를 복사
 TCHAR szTmp[256];
 StrCpy(szTmp, str);

 //파일의 경로만 복사.
 PathRemoveFileSpec(szTmp);
 CString strTmp = szTmp;

 if(nType == 0)
  return strTmp;

 //파일 이름만 복사
 strTmp = str.Right(str.GetLength()-strTmp.GetLength()-1);

 if(nType == 1)
  return strTmp;

 //파일 확장자 복사
 int i = strTmp.ReverseFind('.');
 CString strTmp2;
 if(i > -1)
 {
  strTmp2 = strTmp.Right(strTmp.GetLength()-i-1);
 }
 else
 {
  strTmp2 = _T("");
 }
 
 
 if(nType == 2)
  return strTmp2;

 //확장자를 뺀 파일명을 복사
 strTmp = strTmp.Left(i);
 if(nType == 3)
  return strTmp;


 return _T("");
}

 

단지 디렉토리 경로일 경우는 파일명에 마지막 디렉토리를 리턴하게 된다.

 

 

참조 : http://blog.naver.com/just720?Redirect=Log&logNo=40206748318

 

 

 

 

 

 

 

 

 

2013/11/26 - [[ Topics ]/MFC] - MFC Edit control 에서 실수형 값 가져오는방법

 

2013/09/05 - [[ Topics ]/MFC] - error C2589 에 대한 고찰과 문제 해결방법

 

2013/07/30 - [[ Topics ]/MFC] - MFC Dialog창을 modaless할때 포커스 옮기는법

 

2012/09/04 - [[ Topics ]/MFC] - MFC 새다이얼로그를 생성시 OnDestroy() 경고 및 Memory Leaks

 

2012/09/03 - [[ Topics ]/MFC] - MFC 다이얼로그 기반 OnIdle()과 KickIdle() 그리고 modaless

 

2010/07/29 - [[ Topics ]/MFC] - MFC에서 글자 출력

 

Posted by Tommy™
,

MFC에서는 보통 int 형을 받아오는건 쉽다.

 

흔히 GetDlgItemInt() 함수를 통해 ID에 해당하는 값을 얻어올수 있다.

 

하지만 실수형 변수는 어떻게 얻어올 수 있을까??

 

이리저리 검색해보다가 관련정보를 찾게 되었는데,

 

방법은 여러가지가 있었지만, 가장 직관적인 방법은 바로..

 

CString 형으로 만든 변수에 GetDlgItemText()를 통해 얻어와서 atof() 로 변환해주는 방법이었다.

 

가장 직관적이면서 쉽게 적용할 수 있는 방법이다.

 

아래에 간단한 예제소스를 참고하시길..

 

CString m_strResizeVar;

GetDlgItemText(IDC_EDIT_RESIZEVAR, m_strResizeVar);
float m_fResizeVar = atof(m_strResizeVar.GetString());

 

 

Posted by Tommy™
,