C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[46524] Re:[질문]Topmost 처리가 안되네요 .... 꼼수를 찾은것 같네요 <- 도움 되었습니다. .^^
sad-eyes [] 1233 읽음    2006-09-13 11:11
: 1. Application의 Application->OnDeactivate이벤트에다가 함수를 걸어둡니다.
:     : Form의 Deactive이벤트는 Applicatiion내에서 다른폼으로 focus가 바뀔대 이벤트가 뜨지만
:     : Application->OnDeactivate 현재 focus가 main폼이든 child든 어디서든지 다른 application으로
:       focus가 바뀌면 이벤트가 발생합니다.

이 방법을 생각 못햇네요..
이렇게 하니까.. 100%는 아니구요.. 90%정도는 잘 되는거 같아요.. ^^
예를 들어 런타임중 child들을 플로팅으로 바꾸어 놓은 상태로..
다른 app에 active 처리가 가면.. 개중 한개가 뒤로 숨는 경우가 잇네요..
아무래도 Application이 메인인데.. 볼랜드에선.. 속성이 MDIForm으로 되어 잇는
윈도우를 메인으로 착각하고 처리하라고 하니 제대로 안 먹혀 주는것 같아요.

여튼.. 장성호님의 도움으로 큰 거 하나 해결됏어요 ^^ 넘넘 감사드려요..
(개발자 입장에서 100% 클리어 되야.. 마음이 안 찜찜한데 ㅜㅜ
지금 이부분에서 너무 오래 시간을 끌은데다가.. 이외에 더 나은 해결책은
찾을수가 없어요.. ㅜㅜ 이것만으로도 감솨~ )

일단 성호님의 조언대로 구현하면 Topmost로 남지만..
App가 hide될때 child들도 덩달아 hide가 되는것은 추가 코딩이 필요하더군요.
App가 minimize등의 hide 될때 그대로 child를 화면에 남기구 싶으면
child내의 Dispatch에서 SW_SHOWWINDOW 메시지를 잡아서
리턴시키시면 됩니다..

void __fastcall TfmChildTest::Dispatch (void *Message)
{
  TMessage *msg = (PMessage) Message;
  switch (msg->Msg)
  {
  case WM_SHOWWINDOW :
    {
      if (!msg->WParam)
        return;
    }
    break;
  }
  TForm::Dispatch (Message);
}

요렇게요..
그럼 네이트온 메신저의 플로팅 기능이 구현됩니다.
minimize된 App가 restore시 간혹 문제가 있긴 한대요.. 이건 조금만
코드를 보시면 잡으실수 있을거 같아요..

여기 고수님들께서 정보 공유해주시는것도 감사하고요.
여러번 댓글에다가 샘플코딩 달아주신 성호님도 감사드려요.. ^^
자주자주 도움 청하러 오겟습니다..
그럼 즐거운 오늘 되세요 ~~

+ -

관련 글 리스트
46498 [질문]Topmost 처리가 안되네요 ㅜㅜ sad-eyes 1173 2006/09/11
46508     Re:[질문]Topmost 처리가 안되네요 .... 꼼수를 찾은것 같네요 장성호 3142 2006/09/11
46524         Re:[질문]Topmost 처리가 안되네요 .... 꼼수를 찾은것 같네요 <- 도움 되었습니다. .^^ sad-eyes 1233 2006/09/13
46499     Re:[질문]Topmost 처리가 안되네요 ㅜㅜ 장성호 1264 2006/09/11
46503         :[질문]그래도 안됩니다. sad-eyes 1063 2006/09/11
46504             Re::[질문]그래도 안됩니다. Child 폼의 Deactive이벤트에.... 장성호 1317 2006/09/11
46505                 ::[질문]네.. 그 말씀대로 해봣어요.. ㅜㅜ sad-eyes 1051 2006/09/11
46506                     Re:::[질문]네.. 그 말씀대로 해봣어요.. ㅜㅜ 죄송... 장성호 1221 2006/09/11
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.