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
[53282] Re:[질문]실행프로그램을 맨앞으로 띄워지게 하려면
장성호 [nasilso] 4446 읽음    2008-04-28 14:32
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:[질문]실행프로그램을 맨앞으로 띄워지게 하려면 하안인 2400 2008/04/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.