문제

가능한 경우 레이어링 된 Windows를 사용하여 대화식 컨트롤이있을 것이므로 어린이 양식을 알파 블렌드하는 방법을 찾고 있습니다.

문제는 여러 시각적 레이어 (그림, 그림 ...)를 페인트하는 일반 tform에 구성 요소가 있다는 것입니다. 어느 시점 에서이 양식 (내부)에 대한 편집기 컨트롤을 인스턴스화해야합니다.이 컨트롤은 제 컨트롤 외부의 다양한 표준 입력 컨트롤 (편집 상자, 확인란 등)이 포함되지만 오버레이를 원합니다. 알파 블렌딩을 사용하여 편집되는 층 앞의 층 (및 WS_EX_TRANSPARENT 클릭으로 만들려면).

나는 처음에 그 자녀 양식을 사용한다고 생각했다 (Borderless TForms는 구성 요소에 양육을 받았고, 그것은 알파 블류 tform이 전혀 알파 블류가 아닌 지점까지 괜찮지 만, 양육하자마자 불투명하게 변합니다 ...

그런 다음 알피 블렌드 양식을 비교하여 FSSTAYONTOP로 설정하고 관련 이벤트에 반응하여 화면의 구성 요소 앞에 보관하여 작동하지만 정말 만족스러운 솔루션은 아닙니다. 또한 다른 모달 및 모드가없는 애플리케이션 형태의 응용 프로그램 앞에서 사용자가 구성 요소 앞에서 이동하기로 결정한 경우 ...

그렇다면 자녀 양식을 알파블에 달하는 방법에 대한 다른 아이디어가 있습니까? (또는 그대로 행동)

도움이 되었습니까?

해결책

MSDN에 따르면 당신은 운이 좋지 않습니다. ws_ex_layered 어린이 창에 사용할 수 없습니다.

양식 / 애플리케이션이 초점을 잃을 때 모든 편집기 양식을 숨길 수 있습니다. 적어도 다른 창 위에있는 것을 막을 수 있습니다. 그래도 불만족 스럽습니다 ...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top