본문 바로가기

전체 글179

티스토리에 SyntaxHighlighter 3.0.83 적용하기 초간단 syntaxhighlighter 사용하기 *본 포스팅은 최신버전인 syntaxhighlighter_3.0.83를 기준으로 설명한다. syntaxhighlighter 다운받기 syntaxhighlighter 사이트에 접속해 최신버전을 다운받는다. 티스토리에 파일 업로드 하기 다운받은 파일의 압축을 풀어보면 위 사진과 같은 파일들이 나올 것이다. 그 중, scripts 폴더와 styles 폴더를 티스토리에 업로드 해야한다. 티스토리 - 관리 - HTML/CSS 편집 - 파일업로드에 들어간 후 추가 버튼을 눌러 위에서설명한 scripts 폴더와 styles 폴더를 업로드 한다. HTML/CSS에 코드추가 티스토리 - 관리 - HTML/CSS 편집 - HTML/CSS로 이동하여 skin.html에 코드를 추가한.. 2012. 12. 31.
[MFC] 트레이 아이콘 (Tray Icon) 등록하기 1. 트레이 아이콘이란? 위에 보이는 작은 아이콘들을 트레이 아이콘(Tray Icon)이라고 부른다. 트레이 아이콘은 하나의 응용프로그램을 대표하면서도 적은 공간을 차지하기 때문에 매우 유용하다. 백그라운드와 같이 프로그램을 가동시킬때 매우 유용하게 사용될수 있다. 2. 트레이 아이콘 생성 예제 자 그럼 트레이 아이콘을 생성 예제를 살펴보자. 2-1) 트레이아이콘 생성 트레이 아이콘을 생성할 곳에 (특정키나 버튼 입력시 혹은 프로그램 초기화시) 다음 소스를 작성한다. NOTIFYICONDATA nid; ZeroMemory(&nid, sizeof(nid)); nid.cbSize = sizeof(nid); nid.uID = 0; nid.hWnd = m_pMainWnd->GetSafeHwnd(); nid.uF.. 2012. 12. 28.
[MFC] HotKey(핫키)를 사용하여 키보드 막기 예제소스 키보드나 마우스의 제한, 혹은 입력정보를 컨트롤(정보조작 등) 하기위해 메시지후킹을 많이 사용한다. 하지만 특정키에 대해 컨트롤 하기위해서는 WM_HOTKEY를 사용하는 것이 훨씬 간편하게 구현가능하며 이해하기도 쉽다. 그럼 프린트스크린 키(Print Screen Key)의 입력을 막는 프로그램의 소스를 살펴보자. [MainFrm.cpp] int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CFrameWnd::OnCreate(lpCreateStruct) == -1) return -1; if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIP.. 2012. 12. 27.
[MFC] STOPWATCH(스톱워치) 시간 측정하기 예제소스 시간을 측정할 수 있는 StopWatch 함수에 대해 알아보자. StopWatch는 함수 등 작업의 소요시간이 얼마나 걸리는 지 측정하는 데 용이하다. 사용법은 간단하다. 1. 다음 예제를 입력하여 헤더 파일을 생성한다. [StopWatch.h] #ifndef __STOPWATCH_H__ #define __STOPWATCH_H__ #include class STOPWATCH { private: struct _timeb m_Stb; struct _timeb m_Etb; __int64 m_stime; __int64 m_etime; public: void Start() { _ftime(&m_Stb); } void End() { _ftime(&m_Etb); } __int64 TimeCheck() { m_stim.. 2012. 12. 27.
[MFC] Cstring <-> Char* 형변환 CString Char* 형 변환 하는법 CString -> Char * CString strBuffer; char szBuffer[MAX_PATH] = {0,}; int nLength = (MAX_PATH > strlen(strBuffer)) ? strlen(strBuffer) : MAX_PATH; strncpy(szBuffer, (LPSTR)(LPCSTR)strBuffer, nLength); Char * -> CString CString strBuffer; char szBuffer[MAX_PATH]; strBuffer = (LPSTR)szBuffer; 2012. 12. 26.
[MFC] 리스트컨트롤(List Control) 사용 Tip 리스트컨트롤과 관련된 몇가지 예제들을 올려봅니다. 필요한 부분만 참고해서 사용하세요. 1. 리스트컨트롤 추가. 2. 리스트컨트롤 멤버변수 추가 m_list 3. 체크박스 레이아웃 설정 m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_CHECKBOXES | LVS_EX_GRIDLINES ); 4. 초기화 m_list.DeleteAllItems(); 5. 칼럼명 설정 m_list.InsertColumn(0, _T("번호"), LVCFMT_LEFT, 100, -1); m_list.InsertColumn(1, _T("제목"), LVCFMT_LEFT, 100, -1); m_list.InsertColumn(2, _T("작성자"), LVCFMT_LEFT, 100, -1.. 2012. 12. 26.
[MFC] YCbCr <-> RGB 변환 이미지 처리를 하다보면 YCbCr 과 RGB 간의 변환이 필요할 때가 많다. 그럴경우, 간단한 방법으로 다음과 같이 채널 별 weigth를 주어 처리할 수 있다. Y : 16~235 Cb, Cr : 16 ~ 240 RGB -> YCbCr 변환 Y = 0.257*R+0.504*G+0.098*B+16; Cb = -0.148*R-0.291*G+0.439*B+128; Cr = 0.439*R-0.368*G-0.071*B+128; YCbCr -> RGB 변환 R = 1.164*(Y-16)+1.596*(Cr-128); G = 1.164*(Y-16)-0.813*(Cr-128)-0.392*(Cb-128); B = 1.164*(Y-16)+2.017*(Cb-128); 위와 같이 간단한 수식을 적용하여 변환할 수 있다. 2012. 12. 26.
[C] 디렉토리(폴더)의 모든 파일을 제거 디렉토리(폴더)내의 모든 파일을 제거, 삭제하는 함수 DeleteAllFile 입니다. 파일을 삭제하는 함수이므로 주의해서 사용하시기 바랍니다. 핵심 코드는 CFileFind, FindFile, DeleteFile 입니다. void DeleteAllFile( LPCSTR szDir ) { CString strName; strName.Format( "%s\\*.*", szDir ); CFileFind ff; BOOL bFind = ff.FindFile( strName ); while( bFind ) { bFind = ff.FindNextFile(); if( ff.IsDots() == TRUE || ff.IsDirectory() == TRUE ) continue; DeleteFile( ff.GetFilePa.. 2012. 12. 26.
[C] rand 함수를 이용하여 난수(랜덤) 발생시키기 0 ~ 999 사이의 난수 값을 받으려면 아래와 같이 코드를 작성한다. srand((unsigned)time(NULL)); int num = rand() % 1000; 랜덤 값을 받아야 하는 프로그램(로또 같은) 만들 때 사용하면 되겠다. 2012. 12. 26.