|
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Application->OnDeactivate = SetTop;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SetTop(TObject *Sender)
{
SetWindowPos(Handle, HWND_TOPMOST, Left, Top, Width, Height, SWP_NOACTIVATE);
for(int i = Screen->FormCount - 1; i >= 0 ; i--) {
TForm *tempForm = Screen->Forms[i];
if(tempForm != NULL) {
tempForm->BringToFront();
}
}
}
요렇게 해보시면 될 듯 싶습니다.
위로 님이 쓰신 글 :
: 메인폼 창은 fsStayOnTop 및 Deactivate 이벤트 함수에서
:
: SetWindowPos(Handle, HWND_TOPMOST, Left, Top, Width, Height, SWP_NOACTIVATE)를 통해
:
: 항상 위로 올려가있는 상태 입니다...
:
: 하지만 그 밑에 자식 폼들은
:
: fsStayOnTop, HWND_TOPMOST 해도 여전히 다른 프로그램 창(인터넷 창, 볼랜드 창)들에 의해 가려집니다..
:
: 왜그런건가요 ㅠㅠ.. 메인 폼은 항상 위에 잘 떠있는데... 그 밑에 자식 폼들은 자꾸 사라져요;;
:
: 어떻게 해야 자식폼들도 항상 위에 오게 할 수 있나요?? 많은 조언 부탁드립니다
:
: 아.. 참고로 게시판을 통해
:
: Application->OnDeactivate = FormAppDeactivate; 방법도 써보았는데요...
:
: 그래도 잘 안되네요 ㅠㅠ..
|