일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- EUC-KR
- 크래시로그
- 블루투스 헤드셋
- 기념일관리
- docker
- net
- MFC
- .net
- protobuf-c
- JavaScript
- 자바스크립트
- VS2008
- phpmailer
- Antialiasing
- PDA
- 한 번만 실행
- C#
- 설치제거
- 와이브로
- M8200
- Font
- self-signed ssl
- plcrashreporter
- php
- ClickOnce
- API
- 데이터 전달
- GDI
- C/C++
- crashlog
- Today
- Total
목록MFC (12)
~☆~ 우하하!!~ 개발블로그
C# 프로젝트에서 Visual C++ 프로젝트 빌드 결과물인 dll 을 로드해서 사용중인데, 소스를 Step by step 으로 디버깅하려고 할 때 이런 메시지 박스가 나타난다. 이 메시지 박스를 없애는 해결책... 출처 : http://cafe.naver.com/ArticleRead.nhn?clubid=16859584&articleid=14
BOOL IsEndWithChar(CString strCheckString, char endChar) { return (strCheckString.ReverseFind(endChar) == strCheckString.GetLength() - 1); } CString str = "C:\\Temp\\"; BOOL bEndOK = IsEndWithChar(str, '\\'); // TRUE CString str = "C:\\Temp"; BOOK bEndNot = IsEndWithChar(str, '\\'); // FALSE
예전에는 웹페이지 파일의 인코딩(charset) 을 대부분 euc-kr 로 설정하였었다. 요즘의 추세는 UTF-8 이다. 얼마전 웹호스팅 서버를 이전해야 할 일이 생겼다. A라는 서버에 올라가 있는 웹페이지 파일들은 모두 euc-kr charset 으로 지정되어 있었다. 그런데 새로 이사가려는 B 서버에 파일을 올리기 위해서는 이 웹페이지 파일들을 utf-8 인코딩으로 변환해야만 했다. mysql DB 서버가 utf-8 인코딩만 지원 가능했기 때문이다. 인코딩 타입을 euc-kr 에서 utf-8 로 변경하는 것은 파일에 있는 euc-kr 문자열을 utf-8 로 변경한다고 해서 끝나는게 아니다. 파일의 내용 자체를 utf-8 포맷으로 변환해 주어야만 한다. 그래서 euc-kr charset 으로 작성된 파..
MFC의 CRect 클래스는 left, top, right, bottom 등의 네 개 포인트 좌표점을 멤버로 가진다. 네 개의 포인트 좌표점은 사각 영역을 구성하기 위한 요소이다. left와 right 는 X 좌표축에 대한 위치값이고, top, bottom 은 Y 좌표축에 대한 위치값이다. IntersectRect 함수는 두 개의 CRect 클래스형 인스턴스에 대해서 동작한다. IntersectRect 함수는 두 개의 파라미터를 필요로 하는데, 이 중 앞의 파라미터로 전달된 CRect 영역과 뒤의 파라미터로 전달된 CRect 영역이 교차되는 영역을 구한다. CRect::IntersectRect CRect::IntersectRect BOOL IntersectRect( LPCRECT lpRect1, LPCR..
디버깅을 위한 메시지를 TRACE 라는 MFC의 매크로를 사용하여 출력한다. 유니코드용 빌드 버전에서 TRACE 를 사용하기 위해서는 TRACE(_T("어쩌구 저쩌구")); 와 같이 _T 매크로를 사용하여 문자열을 감싼다. 그러나 더 쉬운 방법이 있다. 파라미터의 개수에 따라서 TRACE0, TRACE1, TRACE2, TRACE3 과 같은 매크로를 사용하면 굳이 _T 매크로를 사용하여 문자열을 감쌀 필요가 없어진다.
MFC 4.x 에서 코딩할 경우 CSpinButtonCtrl::CreateEx 는 다음과 같이 정의되어 있다. BOOL CreateEx(DWORD dwExStyle, LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, LPVOID lpParam = NULL); 위 정의는 CSpinButtonCtrl 클래스의 부모 클래스인 CWnd 클래스의 멤버함수 정의이다. MFC 9.x 에서는 CSpinButtonCtrl 의 멤버함수인 CreateEx 를 사용하게 된다. 이 멤버함수의 정의는 다음과 같다. // Generic creator allowing extended styl..
사용자 정의 메시지를 통해서 double 형 값을 전달하기 위해서는 전달하고자 하는 값을 정수부와 실수부(소수점이하값)로 나누어야 한다. 그리고 해당 값의 기호(+/-)도 구해놓아야 한다. 사용자 정의 메시지값은 WM_USER + 1 이라고 가정한다. 우선 double 형 값을 위에 언급한 정수부, 실수부, 기호 로 분리한다. double dValue = -2.0; CString str; str.Format("%.1f", dValue); BOOL bNegative = (dValue < 0); int nPos = str.Find("."); // 정수부 CString strIntNumber = (-1 == nPos) ? str : str.Left(nPos); // 실수부 CString strDecimalNu..