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
[6385] >질문< SetActiveWindow - PDSPF의 자칭 천재분들 긴장하세요...
쌔피 [ ] 1029 읽음    1999-07-09 15:15
안녕하세요...
지금까지 몇 번 질문을 올렸었는데... 제대로된 답변이 없네요...
이번엔 예전에 찾다가 못찾은 질문을 하나 하려 합니다...
예전 기억을 되살리긴 싫지만 암튼...

질문은 다름아닌 SetActiveWindow에 대한 질문입니다.
델파이1에서
     SetActiveWindow(Self.Handle);
하게되면 내폼이 뒤에 가려져있어도 화면 맨 위로 올라와서 활성화 됩니다.
그런데, 32Bit(델파이2,3,4:모두 테스트해봄)에서는 올라오지 않습니다...
그져 버튼에 포커스가 가는 정도...

제가 원하는 기능은 다음과 같습니다.

그런데, 32Bit(델파이2,3,4:모두 테스트해봄)에서는 올라오지 않습니다...
그져 버튼에 포커스가 가는 정도...
제가 원하는 기능은 다음과 같습니다.
타이머 이벤트에서 이벤트가 걸리면 자신의 폼이 화면 맨위로 올라와 키보드로 버튼을
누를 수 있게 폼이 활성화되는 것입니다.
제가 테스트하는 예는 다음과 같습니다.

먼저 화면에 버튼과 타이머 컴포넌트를 올립니다.
타이머에 Enabled를 False로 주고, Interval을 2000으로 설정합니다.
그런다음 아래와 같이 코딩을 합니다..

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  SetActiveWindow(Self.Handle);  //이부분이 중요하겠죠?
  Timer1.Enabled := False;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
  Timer1.Enabled := True;
end;

실행시킨 뒤 버튼을 누른 후 2초후에 화면이 활성화되는 것이죠...
물론 버튼을 누른후 2초내에 다른 폼을 활성화 시켜놔야 합니다...
그래야 테스트가 될테니까요 ^^;
여기서 제가 말하는 활성화라 함은 폼의 캡션(타이틀)바가 파란색으로
나타나며 폼에있는 버튼을 키보드로 클릭할 수 있어야합니다.

예전에 수많은 델파이전문가(?)들이 수많은 종류의 API를 동원해서
테스트했지만 헛수고였습니다...

암튼, 염치없는 부탁이지만... 말로만 답변하시지 마시고,
테스트를 꼭 해보시고 답변을 해 주셨으면 좋겠습니다.
굳이 테스트 할 시간이 없으면 제가 하겠으니 많은 답변 부탁드립니다...

진정한 델파이 실력자를 만나고 픈...       OHJANG


+ -

관련 글 리스트
6385 >질문< SetActiveWindow - PDSPF의 자칭 천재분들 긴장하세요... 쌔피 1029 1999/07/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.