링크해놓은 글을 잘 읽어보면
맨 아랫쪽에 님이 얘기하신 현상에 대해 얘기하고 있습니다.
간단히 원인은
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();
: : :