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
[53284] Re:Re:[질문]실행프로그램을 맨앞으로 띄워지게 하려면
하안인 [hurco] 2399 읽음    2008-04-28 14:44
답변감사드립니다.
그런데 , 폼이 최소화 인 경우에는 화면에 나오는데.

폼이 다른 폼의 뒤에 있는 경우에는 맨앞으로
화면이 나오지 않습니다.

이런 경우는 어떻게 해야하나요.
SetForegroundWindow( Form1->Handle);
이 안먹히는 것 같은데...



장성호 님이 쓰신 글 :
: 1. FindWindow를 사용하지 마시길..
:
: 다른 프로그램의 윈도우를 찾아서 맨앞으로 보내는것이 아니라
: 현재 프로그램을 맨앞으로 보내고자 하는데 왜 FindWindow를 쓰지요?


:
: TForm1  클래스 내부 함수이면 그냥 Handle로 접근하면 됩니다.
: SetForegroundWindow( Handle); //이렇게..
:
: FindWindow는
: 윈도우가 최소화되어있거나 하면 FindWindow로 윈도우를 제대로 못찾습니다.
: 또한 아래처럼 classname으로 찾을경우에도 같은 class의 윈도우가 두개이상일경우에 문제가 있을수있고
: caption으로 찾더라도 같은 caption인경우 엉뚱한 놈이 찾아질수 있겠죠..
:
:
: 2. 폼이 최소화 상태일때는 원상태로 복구한후에 맨앞으로 보내야 ....
:
:
: 정리하면...
:     Application->Restore();
:     SetForegroundWindow(Handle);
:
: 그럼..
:
:
: 하안인 님이 쓰신 글 :
: : 프로그램이 뒤에 있거나 최소화 되어 있을 경우
: :
: : 화면의 맨앞으로 보내려면 어떻게 해야 하나요.
: :
: :         ::SetForegroundWindow( ::FindWindow("TForm1", NULL ) );
: :         Application->BringToFront();
: :
: : 으로는 되지 않아서요.

+ -

관련 글 리스트
53281 [질문]실행프로그램을 맨앞으로 띄워지게 하려면 하안인 1295 2008/04/28
53282     Re:[질문]실행프로그램을 맨앞으로 띄워지게 하려면 장성호 4446 2008/04/28
53284         Re:Re:[질문]실행프로그램을 맨앞으로 띄워지게 하려면 하안인 2399 2008/04/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.