Dev/C, C++

EVC에서 다이얼로그에서 메인프레임의 타이틀 바꾸기..

newtype 2002. 12. 30. 10:13
여러 다이알로그를 띄우는 프로그램의 경우
그때그때마다 타이틀의 내용을 바꾸고 싶을때가 있습니다.
그런데 제가 아직 허접해서.. 쉽질 않더군여.. ㅡ.ㅡ
타이틀을 바꾸어도 포커스가 뷰로 옮겨가버리구여..

그래서 쉽게 바꿀 수 있는 방법을 생각해 봤습니다.

먼저. 메인프래임의 해더파일에 다음을 추가합니다.

public:
inline void SetFrameTitle(CString str) { SetWindowText( str ); };


그리고, 어디서든 참조하기 쉬운 해더파일에..
stdafx.h같은 곳에..

다음 코드를 추가합니다.
#define _SetTitle(str) { ((CMainFrame*)AfxGetMainWnd())->SetFrameTitle( (str) ); ::SetActiveWindow ( AfxGetMainWnd()->m_hWnd ); SetActiveWindow(); }

이렇게 하구나서.
무슨 다이알로그던 타이틀을 바꾸고 싶으면.
_SetTitle( _T("바꾸고 싶은 타이틀") );
이렇게만 코딩해 주면 됩니다.

일단 전 이렇게 구현했는데...
더 좋은 방법 있으시면 알려주세요.

좋은 시간 되세요. ^^
반응형