본문 바로가기
반응형

분류 전체보기778

[Tip] ',' 을 3자리마다 붙여서 통화 화폐의 문자열을 리턴 '123456700' 과 같은 숫자를 '123,456,700' 와 같이 ',' 을 3자리마다 붙여서 통화 화폐의 문자열을 리턴 하는 함수입니다. 코드 함수: /// 통화화폐형의스트링을얻는다. inline CString IntToCurrencyString( int nMoney ) { CString str; str.Format( "%d", nMoney ); for( int i = str.GetLength() - 3; i > 0; i -= 3 ) { str.Insert( i, ',' ); } return str; } 예제: CString str = IntToCurrencyString( 123456700 ); TRACE( str ); // 123,456,700 2011. 3. 27.
[뮤텍스] Mutex 하나의 프로그램만 실행 온라인게임이나 메신저 프로그램, 각종 P2P 프로그램들은 프로그램 하나만 실행이 됩니다. 이와 같이 하나의 프로그램만 실행 시키는 방법은 뮤텍스(Mutex)라는 동기화 객체를 사용하는데 그 객체의 사용법을 알아봅니다. 코드 1. APP 헤더에 선언한다. class Cmfc_dlg2App : public CWinApp { HANDLE m_hMutex; 2. 생성자에서 초기화한다. Cmfc_dlg2App::Cmfc_dlg2App() { m_hMutex = NULL; } 3. InitInstance 에서 뮤텍스를 생성한다. BOOL Cmfc_dlg2App::InitInstance() { HANDLE m_hMutex = CreateMutex(NULL,TRUE, "뮤텍스를이용한한번만실행되는윈도우"); if( Ge.. 2011. 3. 27.
[Tip] 폰트의 크기 얻어오기 GetTextExtentPoint32 함수는 글자의 가로, 세로 크기를 얻을때 유용한 함수입니다. 이 함수의 사용법과 주의사항을 알아봅니다. MSDN 에 등록된 함수의 원형은 다음과 같습니다. BOOL GetTextExtentPoint( HDC hdc, // handle to DC LPCTSTR lpString, // text string int cbString, // number of characters in string LPSIZE lpSize // string size ); 실제 사용방법은 아래와 같습니다. 1. 폰트를 생성한다. 2. 폰트를 HDC 에 할당한다. 3. GetTextExtentPoint 함수를 이용하여 원하는 문장의 크기를 구한다. 이 함수의 주의할 점은 호출이전에 반드시 Selec.. 2011. 3. 27.
[Dialog] 스플리터 윈도우 크기조절 /////////////////////////////////////////////////////////////////////////////////////////////////// 1. 스플리터 윈도우크기 조절 스플리터 윈도우는(분할창, CSplitterWnd) 탐색기와 같은 프로그램 에서 유용하게 사용하는 기능입니다. 프로그램 실행시, 실행도중 각각의 윈도우의 크기를 조절하는 방법을 알아봅니다. 코드 - MainFrame 에서는 다음과 같은 방법으로 조절합니다. m_wndSplitter.SetColumnInfo( 0, size, min_size ); m_wndSplitter.RecalcLayout(); - View 에서는 다음과 같은 방법으로 조절합니다. GetParentSplitter( this, FA.. 2011. 3. 27.
[MFC] 윈도우와 컨트롤의 활성화 시점 윈도우와 컨트롤의 WM_ACTIVATEAPP, WM_ACTIVATE, WM_SETFOCUS, WM_KILLFOCUS 등의 발생시기를 잘 보여주는 프로그램입니다. 게임에서 사용자가 Alt Tab과 같은 작동을 할 경우 자신의 어플리케이션이 활성화 되었는지(Active), 활성화 되지 않은지(Inactive)에 따라서 사운드, 화면(풀스크린) 복구 작업을 하기 때문에 그 정확한 시점을 테스트 해보고자 만들어 보았습니다. 코드 ON_EN_SETFOCUS(IDC_EDIT1, OnSetfocusEdit1) ON_EN_KILLFOCUS(IDC_EDIT1, OnKillfocusEdit1) ON_EN_KILLFOCUS(IDC_EDIT2, OnKillfocusEdit2) ON_EN_SETFOCUS(IDC_EDIT2, O.. 2011. 3. 27.
쓸만한 Rect 관련 API 함수 쓸만한 Rect 관련 API 함수 RECT 구조체를 교집합, 이동, 증가하기 등을 처리할 경우 직접 코드를 작성하여도 좋지만, 이미 제공되는 함수도 쓸만한 것들이 많이 있습니다. BOOL UnionRect( LPRECT lprcDst, // destination rectangle CONST RECT *lprcSrc1, // first rectangle CONST RECT *lprcSrc2 // second rectangle ); 두개의 사각형으로 하나의 사각형으로 합한다. 면적이 0이면 FALSE 아니면 TRUE 를 리턴한다. BOOL InflateRect( LPRECT lprc, // rectangle int dx, // amount to adjust width int dy // amount to ad.. 2011. 3. 27.
반응형