그냥 폼은 BorderStyle같은거에서 무슨 단일고정인가? 하여튼 그 비슷한 설정으로 하면,
작업표시줄에는 안보이고, 메인화면에서는 보이잖아.(물론 그 앞에 뭐가 가리면 안보이니까 딴거 다 닫거나, API등으로 Front로 꺼내야지.)
그런데 이미 거의 만들어져 있는 MDI폼이 있는데, 그걸 똑같은 방식으로 하려니까 BorderStyle자체가 없네.
아무리 찾아봐도 그냥 아예 Hide나 Visible=False 이런거 밖에 안보임.
(이렇게하면 아예 완전히 숨겨버리는거니까 문제. ㅠㅠ. 아예 숨기면 안됨. 작업표시줄이 난잡해서 그러는 것 뿐이니까.)
어떻게 작업표시줄에서만 숨길방법 없음?
프로그램 자체를 완전히 숨기는게 아니라 \'작업표시줄에서만\' 숨기는거임.
아니면 내가 최종적으로 하고자하는 것을 설명할테니, 가능할지 좀 봐주셈.
exe파일이 따로 구분된 \'프로그램_1번.exe\', \'프로그램_2번.exe\', \'프로그램_3번.exe\' 프로그램 3개가 있음.
각각 MDIForm이 main이고, 이름에서 보듯이 같은 기능을 가진 프로그램인데 이름만 바꾼형태임.
그런데 따로 띄우는 프로그램이랑 탐색기가 많아서 작업표시줄이 글자도 안보일정도로 도배가 됨.
그래서 같은 기능의 프로그램은 쓸데없이 나누지말고, 프로그램 그룹화로 한개의 프로그램인 것처럼 작업표시줄에 나타나면 좋겠음.
(물론 각각 선택이 가능해야하는데, 그건 해결할 방법이 있음.)
작업표시줄에서 그 하나를 클릭하면 가려져 있던 3개의 프로그램이 전부 Front로 나와줘야됨.
\'굳이 프로그램을 나누지 말고, 하나로 합쳐버리면 되잖느냐?\'라고 말하겠지만,
통신 연결구조상 합쳐버리면 제기능을 완전히 못하게 됨.
합쳐서 해결되면 이렇게 묻지도 않지. ㅠㅠ
엊그제 비슷한 질문을 했었는데,
그때랑 좀 다름.
그때는 \'한개의 프로그램\' 내에서 띄우는 창을 그룹화하는 문제였고,
이번에 \'여러개의 프로그램\'이 MDI폼형태일때 그룹화하는 문제임.
엊그제 질문했던건 작업표시줄에서만 안보이게 하는 방식이 가능해서 보이는 폼(이지만 투명폼) 따로 하나 만들어서 대강 땜빵으로 해결했는데,
이번엔 그게 안됨. ㅠㅠ
3개다 숨기고 태스크바에서만 놀다가 애들 부르는 넘 만들던가하셈
ㄴ 아니, 그러니까 그렇게 할 수는 있는데, 그 \'숨긴다\'는 부분이 문제가 된다니까. \'작업표시줄에서만\' 숨겨야됨. 일반적인 \'숨기기\'는 창 자체를 숨기잖아. 창은 남기고 작업표시줄만 안보이게해야됨. MDI폼에서 그게 가능한지, 그리고 방법을 묻고있는거임. ㅠㅠ
http://blog.naver.com/PostView.nhn?blogId=dolicom&logNo=10095826818
아, 될만한거 찾았다. VB6버전
http://www.tech-archive.net/Archive/VB/microsoft.public.vb.winapi/2004-05/0438.html
사실 맨처음에 찾은게 저거랑 거의 똑같은거였는데, 저건 좀 다르네. dot횽이 가르쳐준 링크보면서 고민하다가, WS_EX_TOOLWINDOW로 검색해봤거든. 사실 이게 내가 이 이슈 처리하려고 하다가 맨처음 찾은거에도 있었음. 물론 안되니까 찾다찾다 여기에도 질문한거고. 그래서 뭔가 부족한거 있는거 아닐까 싶어서, 거기에 있는 함수인 RTShowInTaskBar로 다시 검색해봤더니 저게 나오길래 처음에는 똑같은 건줄 알았더니 좀 다르더라고. 그래서 써보니까 되네.
뭔가 좀 깔끔하게 처리되는 거 같진 않지만, 되는게 어디야. ㅠㅠ