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
[55685] Re:Re:Re:Re:새창을 뛰울때..
나그네 [] 1476 읽음    2009-01-05 20:27
CPPBuilder6.jpg 159.6KB 스샷 입니다.
Source.zip 42.5KB 자기자신을 새창으로 뛰우는 소스
Source2.zip 4.3KB 새로운 폼을 새창으로 뛰우는 소스
메인 폼을 아무리 HIde 시켜도.
작업 표시줄의 그 프로젝트(Project1) 아이콘은 그대로 네요..(새창 개념 없을때는 창이 숨겨지면서 아이콘도 모두 사라집니다. 그러나 새창이란걸 하나 뛰울때는 안 없어지네요 ㅠㅠ)

스샷하고 소스 파일 첨부합니다.
(소스는 두가지인데요 첫번째꺼는 버튼1을 누르면 자기자신을 새창으로 뛰웁니다. 그리고 버튼2를 누르면 메인창이 사라집니다. 메인창 아이콘이 없어지는데 'Project1' 이거는 안 없어지더군요..
두번째소스는 전혀 다른 폼을 새창으로 뛰웁니다. 기능 동일하고요.(버튼은 메인창에만 있음) Project1 아이콘 안없어지는거 동일합니다.)

장성호 님이 쓰신 글 :
: 링크해놓은 글을 잘 읽어보면
: 맨 아랫쪽에 님이 얘기하신 현상에 대해 얘기하고 있습니다.
:
: 간단히 원인은
: VCL에서는 Application->Handle이 하나의 윈도우입니다.
: 그리고 TCustomForm을 상속받은 모든 폼은
: Application->Handle을 기본적으로 WndParent로 가지게 되구요..
:
:
: 해결방법은
:
: 방법1
:    첫번째 생성되는 폼에서는 작업표시줄에 생성되도록 하지 않는다.
:
:
: 방법2
:    Application->Handle이 하나의 윈도우이므로
:    이윈도우(Application->Handle)를 Hide시켜버린다.
:
:
: 방법3.
:    맨 먼저 생성되는 메인폼(Application->MainForm)을 Hide시켜 버리고
:    sub-form만으로 작업한다.
:
:
:
: 방법2가 님께서 원하시는것에 가장 가까울지 모르겠는데..
: Application->Handle 과 Application->MainForm은 매우 긴밀한 관계가 있습니다.
: WM_SYSCOMMAND의 SC_MINIMIZE , SC_MAXIMIZED , SC_RESOTRE.. 등이 서로 연동되게 되어있습니다.
:
: C++Builder2006 이상에서는 메인폼이 TaskBar에 나타나도록 하는 방법이 VCL차원에서 제공되지만
: 그 이하 버젼의 VCL(C++Builder 또는  Delphi)에서는 그렇게 하려면 WM_SYSCOMMAND 처리를 또 잘 해줘야 합니다.
: 연동되는 것을 끊으줘야죠..
:
: 그러니 그냥 방법3이 편할듯 하네요...
:
: 그럼..
:
:
:
: 나그네 님이 쓰신 글 :
: : 질문을 더 올립니다.
: : 참고 URL대로 해서 아래 작업 표시줄에 여러개 뜨게 하는건 됬으나..
: : 자기 자신에게 적용하니.. 처음 실행할때
: : 작업 표시줄 아이콘이 두개가 뜨네요.
: : 즉, 프로젝트 이름을 A라고 가정하고 창 이름을 B라고 가정하면
: : 처음 실행할때 작업 표시줄에
: : [ A ][ B ]
: : 이렇게 됩니다. 여기서 자기자신(B)를 새창으로 열면
: : [ A ][ B ][ B ]
: : 이렇게 되고요
: : 여기서 A부분을 안보이게 하거나 없앨 수 없나요?
: :
: :
: : 장성호 님이 쓰신 글 :
: : : 참고하세요
: : :
: : : http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tip&no=18
: : :
: : : 나그네 님이 쓰신 글 :
: : : : 다음과 같이 새창을 뛰울때..
: : : : 작업표시줄에 아이콘이 추가로 생기지 않는데.. 왜 그런건가요?
: : : : 창을 새로 열때마다. 작업표시줄에 아이콘을 계속 추가되게 할 순 없나요?
: : : :
: : : :
: : : : TForm2 *frm = new TForm2(this);
: : : : frm->Show();
: : : : 

+ -

관련 글 리스트
55563 새창을 뛰울때.. 나그네 1390 2008/12/27
55565     Re:새창을 뛰울때.. 장성호 1397 2008/12/27
55677         Re:Re:새창을 뛰울때.. 나그네 1248 2009/01/05
55680             Re:Re:Re:새창을 뛰울때.. 장성호 1400 2009/01/05
55685                 Re:Re:Re:Re:새창을 뛰울때.. 나그네 1476 2009/01/05
55688                     Re:Re:Re:Re:Re:새창을 뛰울때.. 장성호 1500 2009/01/06
55689                         Re:Re:Re:Re:Re:Re:새창을 뛰울때.. 나그네 1622 2009/01/06
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.