본문 바로가기

프로그래밍/MFC

(27)
CListBox 갱신(가장 최근 리스트 보이기) CListBox * ctlList = (CListBox *)GetDlgItem(IDC_LIST1); ctlList->AddString("Hello World!"); ctlList->SetTopIndex( ctlList->GetCount()-1 );
BSTR과 CHAR *의 형 변환 출처 : http://blog.naver.com/kongmks/10010760112 ////////////////////////////////////////////////////////////////////////// // BSTR을 Char *으로 변환 하는 함수 // 필수 Include file : atlconv.h ////////////////////////////////////////////////////////////////////////// // Made by kong // 2006. 11. 16. ////////////////////////////////////////////////////////////////////////// void BSTRtoCHAR(char *Msg[], const ..
error C2663: 'ATL::CSimpleStringT<BaseType,t_bMFCDLL>::GetBuffer' : ... 출처 : http://social.msdn.microsoft.com/Forums/ko-KR/vclanguage/thread/55d18da3-8ff5-462b-9852-969e5b80abf2 VS6.0에서 컴파일 잘 되던 것이 VS2005로 오면서 에러가 나는 부분입니다. error C2663: 'ATL::CSimpleStringT::GetBuffer' : 2 overloads have no legal conversion for 'this' pointer 해결방법은 아래와 같습니다. Definition of GetAt in Visual studio 6 as follows: CString GetAt(int nIndex) const; Definition of GetAt in Visual studio 2005 ..
MFC 간단한 TIP 출처 : http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=51&MAEULNo=20&no=8144&ref=8144아래 항목만 다 알면 코딩하는데 많은 도움이 되리라 생각됩니다.저도 사실 전부 모릅니다 ㅡㅡ;;너무 많은 걸~~ 1. DC얻기 CClientDC dc(this); 2. Client 영역 구하기 GetClientRect(&rect); WM_SIZE 메시지발생후 cx,cy 사용 3. 문자열 사각형안에 그리기 pDC->DrawText(문자열,사각형,Style); Style: DT_BOTTOM - 문자열을 사각형 맨아래줄에배열 반드시 DT_SINGLELINE과 함께사용 DT_CENTER - 문자열을 가로중앙에 배치 DT_VCENTER - 문자열을 세..
INI 파일제어 (GetPrivateProfileString, WritePrivateProfileString ) INI 파일의 구조는 보통 다음과 같이 되어있습니다. 예) setup.ini [Title1] Name=test.cpp Path=C:\temp\test.cpp Version=2.1.0.1 [Title2] Name=test.cpp Path=C:\temp\test.cpp Version=2.1.0.1 . . 위 파일을 제어(읽기/쓰기)하려면 다음과 같은 함수를 사용합니다. GetPrivateProfileString() : 파일에서 정보(문자열)를 읽어온다. WritePrivateProfileString() : 파일에 정보(문자열)를 쓴다. 만약에 해당 섹션과 키값이 없으면 자동으로 생성한다. 각 함수의 원형은 다음과 같습니다. DWORD GetPrivateProfileString( LPCTSTR lpAppNam..
[MFC] Visual Studio 6.0 프로젝트이름을 손쉽게 바꿔보자! VSProjectRenamer! [MFC] Visual Studio 6.0 프로젝트이름을 손쉽게 바꿔보자! VSProjectRenamer! 프로젝트를 생성해서 한덩어리의 프로그램을 만들게되면.. 비슷한 다른 프로젝트에서 사용하게 될 경우가 있습니다. 이럴경우 프로젝트 이름을 일일이 다 찾아서 바꿔야하는 번거러움이 있는데.. 밑에서 소개하는 이 프로그램은 이런 불편함을 깔끔하게 해결해줍니다. 먼저 프로그램 화면입니다. Target Project Directory에 Browse 버튼을 눌러 바꾸고자하는 프로젝트의 경로를 설정해줍니다. Old Project에 기존에 프로젝트 이름을 적고.. New Project Name에 새로운 프로젝트 이름을 적고.. Run 버튼을 누르면 깔끔하게 바뀐 내용을 확인 하실수 있을겁니다. 프로그램은 검색을 통..
Go To Definition Of 함수명(변수명) 오류 해결방법 Go To Definition Of 함수명(변수명) 오류 해결방법 VC++ 6.0 기준에서 말씀드립니다. Go To Definition Of 명령은 소스를 분석할 때 선언된 함수나 변수를 쉽게 찾아 갈 수 있는 방법 중 하나입니다. 변수나 함수명에 오른쪽 마우스를 누르면 아래 그림과 같이 나타납니다. Go to Definition Of iMax 를 클릭하면 iMax 변수가 선언된 위치로 커서가 이동을 합니다. 프로젝트 폴더를 복사해서 이름을 바꾸거나 혹은 다른 위치에 복사를 해둘 경우.. 이전에 사용하던 소스로 이동하여 가르키는 오류가 있습니다. 다른 소스를 건드린다는 사실을 알면 다행이지만.. 이것을 모르면 하루 혹은 그 이상의 시간을 삽질(?)할 수 도 있습니다. VC 타이틀 상단에 아래 그림처럼 "..
마우스, 키보드 입력 장치의 마지막 입력 시간을 확인하여 IDLE Time 체크 마우스, 키보드 입력 장치의 마지막 입력 시간을 확인하여 IDLE Time 체크 원문 : http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=51&MAEULNO=20&no=8287&page=1 이번에 신규 프로젝트를 하면서 요구사항 항목 중 하나가 사용자 입력이 몇분 이상 없을 시 특정 행동을 취해라!가 있었습니다. 간단히 예를 들어보죠!! 1. NateOn 처럼 몇분 동안 자리 비움하면 아이콘이 자리 비움으로 변경 2. 사용자 입력이 몇분동안 없을 경우 자동 로그오프 하라. 등등... 이럴때 대부분 후킹을 해야하지 않을까라고 생각을 합니다. 하지만 후킹 자체가 전역으로 이벤트를 걸어야 되는 경우가 대부분인지라 과연 그 기능 하나때문에 후킹을 꼭 써야될까..