문제
를 만들고 싶은데 c#응용 프로그램으로 여러 windows 있는 모든 투명한 텍스트이다.
까다로운 부분은 이러한 형태의 상단에 앉아,하나의 화면에서 바탕 화면 아이콘이 있습니다.이것이 가능한가요?
해결책
그냥 창이 투명한이트:
this.BackColor = Color.Fuchsia;
this.TransparencyKey = Color.Fuchsia;
당신은 다음과 같이 할 수 있다 그래서 그것을 만들 수 있도록 작용할 수 있습니다 여전히 데스크톱과 다른것에서 당신의 창:
public const int WM_NCHITTEST = 0x84;
public const int HTTRANSPARENT = -1;
protected override void WndProc(ref Message message)
{
if ( message.Msg == (int)WM_NCHITTEST )
{
message.Result = (IntPtr)HTTRANSPARENT;
}
else
{
base.WndProc( ref message );
}
}
다른 팁
팁 주셔서 감사합니 Jeff.그것도 아주 난다.나는 것이 효과적으로 다음과 같은 창이 나타나는 경우에는 그것의 일부분이었 바탕 화면 아래에 앉을 수 있는 최고의 형태입니다.
어쩌면 다른 방법으로 그것을 할 수 있습니다.할 수 있는 실제로 그리는 텍스트와 그래픽을 바탕 화면?
위에서 설명한 방법에 의해 제프 힐만이 효과적으로 창 투명한을 제공해야 하는 당신의 능력을 나타나는 부분의 데스크톱(당신이 언급된 목표이다.
하나의 문제점으로 실행할 수 있습니다,나는 최근에 실행,뿐만 아니라 그리 창으로 어떤 anti-aliasing 깃발을 설정합니다.특히,사용 DrawText,어떤 텍스트 렌더링 anti-aliasing 플래그 세트로 렌더링되지만 배경지 않은 투명하다.최종 결과는 당신이 얻을 텍스트와 함께 약간의 오프-컬러 국경습니다.나는 확실히 이 사실 아무것도뿐만 아니라,지 못했습니다.
은 어떤 생각하는 방법에 대한 해결하는가?
제휴하지 않습니다 StackOverflow