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
[75585] 자답) 어이없게 해결됐네요..
ㅇㅇ [] 2152 읽음    2019-09-18 10:49
저 코드 쓸 필요없이 폼의 FormStyle을 fsStayOnTop로 지정해주고, Dock에 StayOnTop 옵션을 true로 설정해주면 되네요..

ㅇㅇ 님이 쓰신 글 :
:
:          while(1)
: 	{
: 		HWND hForeground;
: 		DWORD id, foreground_id;
: 
: 		hForeground = GetForegroundWindow();
: 		if (hForeground != FormMain->Handle)
: 		{
: 			foreground_id = GetWindowThreadProcessId(hForeground, NULL);
: 			id = GetWindowThreadProcessId(FormMain->Handle, NULL);
: 			if (AttachThreadInput(id, foreground_id, TRUE))
: 			{
: 				BringWindowToTop(FormMain->Handle);
: 				AttachThreadInput(id, foreground_id, FALSE);
: 			}
: 
: 		}
: 	}
: 

:
: 현재 위에 있는 코드를 사용해서 도커를 맨 위에 위치하도록 하고 있습니다..
: FormStyle을 fsStayOnTop으로 설정하는 방식으로 하면 도커가 항상 맨 위에 위치하기는 하는데, 프로그램이 활성화 상태임에도 불구하고 DockItem이 활성화가 안되더라구요..
: 그래서 이 방식을 썼는데. 위에 있는 코드를 사용하면 도커가 띄워져 있는 상태에서 다른 프로그램을 활성화해서 사용할 경우 제약이 있네요..도커때문에 다른 프로그램 버튼 클릭했을 때 가끔 클릭이 안먹거나 그런거요..
:
: 제가 구현하고 싶은건 이건데요
: 1. 도커가 항상 맨 앞에 위치할 것
: 2. 맨 앞에 위치되어 있어도 다른 프로그램을 활성화 하여 사용할 수 있을 것
: 3. 도커가 활성화된 상태에서는 DockItem이 활성화 될 것
:
: 어떤 방식으로 구현하는게 좋을지 조언 부탁드립니다ㅠㅠ 도커 컴포넌트는 TMS의 advsmoothdock을 사용하고 있습니다.

+ -

관련 글 리스트
75584 Dock 질문입니다. ㅇㅇ 2038 2019/09/18
75585     자답) 어이없게 해결됐네요.. ㅇㅇ 2152 2019/09/18
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.