블로그 개설하다

잡기장 2013.01.28 12:11

일단 블로그는 개설했지만 과연 누군가가 찾아올지는 미지수다. 그리고 이런 쪽으로는 너무나 게으른 내가 과연 블로그를 얼마나 꾸준하게 관리할지도 의문이다. 과연 누군가가 이 블로그를 보고 컨택해올 날이 올 것인지도 궁금하다. ^^


---------------- 2013.3.6

블로그를 시작한지는 얼마 안되었지만 블로그 운영원칙이나 방향이 있었으면 좋겠다는 생각이 종종 있었는데 여기에 적어 봅니다.

  1. 비슷한 내용을 재생산하지 않는다. 그렇지 않아도 정보의 홍수인 요즘 세상에 저까지 일조를 할 필요는 없다고 생각합니다. 가급적 나의 시각, 나의 해석을 적고자 합니다. 제 글들은 주로 기본에 관련된 내용이며 기본의 가치가 인정되는 세상이 오기를 희망합니다.
  2. 가급적 한글을 사용한다. 원체 영어를 못하기도 하지만 영어에 쌓인 게 많아서이기도 합니다.
  3. 순수 창작물을 올린다. 요즘 저작권이 많이 문제가 됩니다. 제가 올리는 글, 그림은 대부분 직접 찍거나 그린 것들입니다. 타인의 글은 나름의 재해석이 들어간 경우를 제외하고는 링크만 올리고 그림은 출처를 명시합니다.
  4. 나에게도 도움이 되는 글을 올린다. 한번 몰랐던 것은 나중에 또 찾게 됩니다. 그럴 때 문서로 정리된 기록이 있으면 도움이 많이 됩니다. 문서로 정리하는 과정도 공부가 많이 됩니다. 나에게도 필요하지만 다른 이들에게도 도움이 될 만한 글을 올립니다.


지금은 이 정도인 것 같습니다. 나중에 좀더 생길지도 모르겠네요. ^^


by 다크 프로그래머

저작자 표시 비영리 변경 금지
신고

'잡기장' 카테고리의 다른 글

마법의 가을  (0) 2013.01.28
수학이 싫다  (4) 2013.01.28
블로그 개설하다  (3) 2013.01.28
향후 포스팅 목록  (0) 2013.01.28
  • 로시 2013.03.06 07:04 신고 ADDR 수정/삭제 답글

    좋은자료 많은 도움이 될것 같습니다.
    감사합니다.

  • 문일현 2013.08.13 20:07 신고 ADDR 수정/삭제 답글

    좋은 글 좋은 자료 감사합니다.

    많이 배우고 갑니다.

다이얼로그에서 키보드 메시지(이벤트) 받기

프로그래밍/c++ 2013.01.28 12:06

다이얼로그(CDialog)에서 키보드 이벤트(메시지)를 받고 싶은 경우 App 에서 PreTranslateMessage 함수를 다음과 같이 Override하여 키 이벤트를 대화상자에 전달해 주어야 합니다.


BOOL CWinApp::PreTranslateMessage(MSG* pMsg)

{

if (pMsg->message == WM_CHAR)

{

this->m_pMainWnd->SendMessage(WM_CHAR, pMsg->wParam, pMsg->lParam);

// return TRUE;

}

return CWinAppEx::PreTranslateMessage(pMsg);

}


주의사항 1.

만일 return TRUE를 주석처리하지 않으면 CWinAppEx::PreTranslateMessage(pMsg)가 실행되지 않기 때문에 대화상자의 컨트롤들이 정상 동작하지 않게 됩니다. 예를 들어, CEdit 컨트롤에 텍스트를 입력할 수 없게 됩니다.


주의사항 2.

WM_CHAR 메시지로는 shift, ctrl, 화살표 키 등 특수키들을 받을 수 없습니다. 특수키들도 처리하고 싶으면 다음과 같이 WM_KEYDOWN, WM_KEYUP로 처리해야 합니다.


BOOL CWinApp::PreTranslateMessage(MSG* pMsg)

{

if (pMsg->message==WM_KEYDOWN || pMsg->message==WM_KEYUP)

{

this->m_pMainWnd->SendMessage(pMsg->message, pMsg->wParam, pMsg->lParam);

}

return CWinAppEx::PreTranslateMessage(pMsg);

}


by 다크 프로그래머

저작자 표시 비영리 변경 금지
신고
  • 헌스 2013.05.08 16:52 신고 ADDR 수정/삭제 답글

    덕분에 문제 하나 해결했습니다. 감사합니다.ㅋ

setlocale 사용법

프로그래밍/c++ 2013.01.28 12:04

c++에서 ifstream이나 ofstream으로 파일을 열고 생성할 때, 경로명 또는 파일명에 한글이 포함되면 파일 입출력이 동작하지 않는다. 경험이 없다면 찾기 힘든 문제이다.


해결법은 setlocale(LC_ALL, "")을 호출해 주면 된다. 파일 입출력 루틴 앞에 해 주어도 되고 프로그램 시작 부분에 해도 되고 아무 곳에서나 한번만 호출해 주면 된다.


setlocale(LC_ALL, "Korean")을 해 주어도 동작하지만 컴퓨터의 시스템 지역 설정을 따르게 하는 setlocale(LC_ALL, "")를 사용하는게 좋을 것 같다. 한글을 사용하는 사람들은 지역설정(locale)을 한글로 해 놓았을 테니까 ^^


일시적으로만 locale을 바꾸고 싶다면 다음과 같이 처리한다.


// 현재 locale을 저장

char *old_locale_tmp = setlocale(LC_ALL, NULL); // 임시 locale 문자열 주소 반환

char *old_locale_saved = strdup(old_locale_tmp); // 반환받은 old locale 문자열 주소가 이후 setlocale 호출로 변경되지 않도록 별도로 메모리를 할당받아서 저장


// locale을 변경하고 필요한 작업을 수행

setlocale (LC_ALL, new_locale);

...


// locale을 복구

setlocale(LC_ALL, old_locale_saved);

free(old_locale_saved);


by 다크 프로그래머

저작자 표시 비영리 변경 금지
신고