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
[9421] Re:[답변] 프로그램 실행시 focus를 다른 폼으로 옮기려면... 편법입니다.
김진수 [miman101] 1119 읽음    2001-07-28 01:15
안녕하세요 김진수 입니다.
1. form1 과 form2를 만들어 실험해 봤습니다.
   form1의 onshow 이벤트에

   form2->show(); //폼2를 보여준다.
  
   이렇게 해봣습니다. form1이 보여지고 form2가 뒤로 숨더군요...

2. 이번엔 form1에 버튼을 넣고 다음을 onclick에 다음을 넣었습니다.
 
   form2->Show(); //폼2를 보여준다.

   이번엔 form1 위로 form2가 올라오며 활성화가 되는군요...

그럼 왜 1번의 경우 왜 form2가 안올라 올까 ??? 궁금해졌습니다... 그래서
다음을 시험해봤습니다. activeform 속성을 써서 form1과 form2 둘중 어는 폼이 진짜 활성화 되있는지
실험해봤습니다.

3. form1의 onshow 이벤트에 다음과 같이 넣었습니다.
   form2->show();
   Screen->ActiveForm->Color = clAqua;

   결과는 form2가 clAqua로 변했습니다... (이것은 제 생각입니다... 잘못되었다면 지적해주세요);

그래서 생각해봤습니다... show 이벤트가 완료 되지 않은 상태에서 form2->Show() 를 했기때문에
form1이벤트 show가 종류 되면서 활성창을 form1으로 넘기는게 아닌가하고여 (물론 제 생각입니다.)

그래서 편법을 적용했습니다 onshow 이벤트를 통하지 않고 조건을 만족한다면 폼2를 보여 준다...
4. 타이머를 이용했습니다... 폼이 생성 완료되면 분명 타이머는 작동할것입니다.
그래서 timer1을 폼에 넣고 다음과 같이 했습니다...
inspector->enabled = true;   //바로 동작
inspector->intaval = 10;   //바로 되야 하니까 빠르게..

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
   if(주절주절)
       Form2->Show();
   Timer1->Enabled = false;
}

이렇게 하니까 폼이 위로 뜨면서 활성화가되네요...
지금까지 허접한 실험이었습니다... 더 좋은 내용이 있다면 가르쳐 주세요 ^^;;


Jun 님이 쓰신 글 :
: 안녕하세요...
: 제일 처음 프로그램 실행시에 ini파일을 읽어 조건에 만족하면 다른 폼도 같이 띄워주는 데요...
: 다른 폼을 띄웠을 때 이 띄운 폼이 메인 폼보다 위로 올라와야 하는데 밑에 깔려서 문제입니다.
: 메인폼이 form1이고 띄울 폼이 form2라고 하면 form2->Focused()를 하고 form2->SetFocus();라고 모두 주었는데도 위로 올라오질 않네요...다른 방법이 있을까요? 답변 부탁드립니다.
:

+ -

관련 글 리스트
9386 [질문] 프로그램 실행시 focus를 다른 폼으로 옮기려면... Jun 900 2001/07/27
9421     Re:[답변] 프로그램 실행시 focus를 다른 폼으로 옮기려면... 편법입니다. 김진수 1119 2001/07/28
9388     Re:[질문] 프로그램 실행시 focus를 다른 폼으로 옮기려면... 지나가는 사람 987 2001/07/27
9413         Re:Re:[질문] 프로그램 실행시 focus를 다른 폼으로 옮기려면... Jun 988 2001/07/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.