FormView처럼 화면 꾸미기(MFC,VCL)
MFC에서 프로젝트를 FormView를 쓰면 화면 전환시에 사용하는 법은 다음과 같이 난 작성한다...
메인폼에 사용자 메시지를 받을 수 있는 함수를 다음과 같이 작성한다..
이런식의 함수를 사용하고자 하는 곳에서...
::SendMessage(AfxGetMainWnd()->m_hWnd, UM_MENUCHANGE, IDD_LDP_CAL_FORM, NULL);
이런식으로 호출해서 폼이 바뀌는방식을 주로 쓴다..
그리고 C++ 빌더에서는 다음과 같이 사용한다...
1. 이전 화면이 있으면 삭제..
2. 화면 호출 및 생성
3. 화면 크기를 메인폼에 맞게 수정..(Resize 함수 이용)
// 그려질 폼이 메인폼에 맞게 사이즈를 맞추어 준다...
void __fastcall TMainForm::FormResize(TObject *Sender)
{
if(Frame_User){
Frame_User->Width = ClientWidth;
Frame_User->Height = ClientHeight;
return;
}
else if(Frame_Group)
{
Frame_Group->Width = ClientWidth;
Frame_Group->Height = ClientHeight;
}
}
// 기존의 폼을 제거한다..
int __fastcall TMainForm::DeleteFrame()
{
// 사용자 등록 화면 삭제.
if(Frame_User){
delete Frame_User;
Frame_User = NULL;
}
//...//
}
// 그리고 호출 및 생성은...
void __fastcall TMainForm::N2Click(TObject *Sender)
{ // 사용자 등록
DeleteFrame(); // 호출되어 있는 폼 삭제
Frame_User = new TFrame_User(this); // 현재 폼을 오너로 해서 생성
TRect rect = Rect(0,0, ClientWidth, ClientHeight); // 현재 폼을 전체 덮는 크기로 설정
Frame_User->Dock(this, rect); // 현재 폼을 도킹 시켜 보이게 한다..
}
다음과 같이 처리한다... 어떤 방식이 더 낫다고 볼 수 없다..
김용유닷컴(kimyongyu.com) 예전글에서 발췌 수정
'개발 관련 정보' 카테고리의 다른 글
[펌]윈도우7 MBR 문제 발생시 조치 방법 (0) | 2014.12.23 |
---|---|
투명 비트맵 만들기 (0) | 2014.12.10 |
윈도우 메시지 정의 파일 참고용 (0) | 2014.12.10 |
char*를 wchar_t*로 형 변환 참고.. (0) | 2014.12.10 |
미쓰비시 PLC 통신관련하여 (0) | 2014.12.10 |