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
[16961] [질문] showwindow와 fsstayontop에 관한 질문입니다.
Jun [hjuni11] 1364 읽음    2002-03-28 14:31
안녕하세요...

질문이 있어서요.... 너무 이상해서 질문드립니다..

일단 메인폼의 formstyle을 fsStayOnTop으로 설정하고. formclosequery에서 bool값을 비교해서 false일 경우에는 종료 시키지 않고 tray로 넣어줍니다. trayicon은 rxtrayicon을 사용했구요.
tray로 넣어주는 방법은 Application->Minimize()한 후에 작업표시줄에서 없애주기 위해 ShowWindow(this->Handle, SW_HIDE);를 해주었습니다.

그 후가 문제인데요...이걸 프로그램 상에서 trayicon을 클릭하여 Application->restore()를 해주면 정상적으로 작동이 되는데요...

project source인 프로젝트명.cpp에서 mutex를 설정하여 다시 같은 프로그램을 띄웠을 때 현재 지정된 mutex를 사용하는 프로그램이 떠있으면 그 프로그램을 띄워주기 위하여
ShowWindow(FindWindow("TApplication", "test"), SW_SHOWNORMAL); 이라고 해주는데요..

이렇게 해주니까 프로그램이 화면상에 나타나기는 하는데 이전의 fsStayOnTop의 속성이 제대로 동작하지를 않습니다... 제대로 동작하지 않는다는 말이 subform까지도 제끼고 위로 올라가버리는 현상이 나타난다는 겁니다...

SW_SHOWNORMAL을 주지 않고 SW_SHOWNA를 주면 위와 같은 이상현상이 일어나지는 않지만 이전에 Minimize를 해서 내려 놓았기 때문에 minimize된 상태로 작업표시줄에만 나타나게 되더라구요...

어디에 문제가 있는 지 모르겠어요...

시원한 해결 방법 좀 알려주세요...... SetWindowPos으로 하려고 해도 stayontop의 속성을 바꾸기 때문에 제대로 된 동작이 이루어지질 않아요....
사용자가 stayontop을 변경할 수 있거든요...

답변 부탁드리겠습니다.

+ -

관련 글 리스트
16961 [질문] showwindow와 fsstayontop에 관한 질문입니다. Jun 1364 2002/03/28
18996     Re:[질문] showwindow와 fsstayontop에 관한 질문입니다. kmh004 1365 2002/05/30
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.