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

델파이 Q&A
Delphi Programming Q&A
[6420] [정보] SetForeGroundWindow(Form1.Handle);
쌔피 [ ] 2523 읽음    1999-07-14 15:18
안녕하세요...
그동안 SetActiveWindow API로 이곳을 난잡(?)하게 만들었던 OHJANG 입니다.
SetActiveWindow API는 말 그대로 윈도우를 액티브 시키는 함수입니다.
그런데, 32Bit로 넘어오면서 그 동작이 제대로 되지 않더군요...

그래서 질문을 올리게 되었고...
음... 몇몇 고마우신 분들이 테스트를 해 주셨는데, 되신다는 분 안되신다는 분...
정말 저도 정리가 안됩니다...

지금까지의 결과는 다음과 같습니다.
우선 모든 분들이 SetActiveWindow API 대신 SetForeGroundWindow API를 권했습니다.
그런데... 테스트 결과 이 함수는 다음과 같이 반응하더군요...

윈도95에서는 정상적으로 SetActiveWindow API와 동일한 반응을 보였습니다.
그런데,
윈도98에서는 Alt+Tab로 화면을 이동시에는 정상 반응을 보였으나
마우스로 다른 폼을 클릭했을땐 태스크바의 아이콘이 반짝거리 뿐
폼이 액티브 되지 않았습니다.

박테리아님이 보내주신 소스에 의하면
1. SetForeGroundWindow(Self.Handle);
2. SetForeGroundWindow(Form1.Handle);
3. SetForeGroundWindow(Button3.Handle);
4. SetForeGroundWindow(Application.Handle);
5. Application.BringToFront;
윈도 95에서는 다섯가지 방법이 모두 정상 동작했습니다.
3번의 버튼 핸들을 주는 경우에도...

그런데, 윈도 98에서는 1,2,4,5의 경우는 마우스로 다른폼 이동시
태스크바의 아이콘이 깜빡거리기만 했습니다.

3번의 경우에는 아무런 반응을 보이지 않더군요...

이글을 보시는 분들도 한번 테스트 해 보셨으면 좋겠네요...
그리고 다른 방법이나 테스트 결과가 다르신분들도 말씀해 주시면 좋겠구요...

아무튼 여기까지 읽어주셔서 무척 감사하구요..
또, 다른 결과가 있으면 알려드릴께요...
그럼... 전... 이만....


+ -

관련 글 리스트
6420 [정보] SetForeGroundWindow(Form1.Handle); 쌔피 2523 1999/07/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.