여러 다이알로그를 띄우는 프로그램의 경우
그때그때마다 타이틀의 내용을 바꾸고 싶을때가 있습니다.
그런데 제가 아직 허접해서.. 쉽질 않더군여.. ㅡ.ㅡ
타이틀을 바꾸어도 포커스가 뷰로 옮겨가버리구여..
그래서 쉽게 바꿀 수 있는 방법을 생각해 봤습니다.
먼저. 메인프래임의 해더파일에 다음을 추가합니다.
public:
inline void SetFrameTitle(CString str) { SetWindowText( str ); };
그리고, 어디서든 참조하기 쉬운 해더파일에..
stdafx.h같은 곳에..
다음 코드를 추가합니다.
#define _SetTitle(str) { ((CMainFrame*)AfxGetMainWnd())->SetFrameTitle( (str) ); ::SetActiveWindow ( AfxGetMainWnd()->m_hWnd ); SetActiveWindow(); }
이렇게 하구나서.
무슨 다이알로그던 타이틀을 바꾸고 싶으면.
_SetTitle( _T("바꾸고 싶은 타이틀") );
이렇게만 코딩해 주면 됩니다.
일단 전 이렇게 구현했는데...
더 좋은 방법 있으시면 알려주세요.
좋은 시간 되세요. ^^
그때그때마다 타이틀의 내용을 바꾸고 싶을때가 있습니다.
그런데 제가 아직 허접해서.. 쉽질 않더군여.. ㅡ.ㅡ
타이틀을 바꾸어도 포커스가 뷰로 옮겨가버리구여..
그래서 쉽게 바꿀 수 있는 방법을 생각해 봤습니다.
먼저. 메인프래임의 해더파일에 다음을 추가합니다.
public:
inline void SetFrameTitle(CString str) { SetWindowText( str ); };
그리고, 어디서든 참조하기 쉬운 해더파일에..
stdafx.h같은 곳에..
다음 코드를 추가합니다.
#define _SetTitle(str) { ((CMainFrame*)AfxGetMainWnd())->SetFrameTitle( (str) ); ::SetActiveWindow ( AfxGetMainWnd()->m_hWnd ); SetActiveWindow(); }
이렇게 하구나서.
무슨 다이알로그던 타이틀을 바꾸고 싶으면.
_SetTitle( _T("바꾸고 싶은 타이틀") );
이렇게만 코딩해 주면 됩니다.
일단 전 이렇게 구현했는데...
더 좋은 방법 있으시면 알려주세요.
좋은 시간 되세요. ^^
반응형
'Dev > C, C++' 카테고리의 다른 글
MFC용 ADO클래스 (0) | 2003.02.06 |
---|---|
Http프로토콜을 이용한 파일 다운로드 (0) | 2003.01.23 |
Http프로토콜을 이용한 파일 업로드 (2) | 2003.01.18 |
컴파일시 꼬이는 헤더파일 방지.. (2) | 2002.12.21 |
레지스트리, ini파일 간단히 사용하기. (0) | 2002.12.21 |