2012-06-19 4 views
1

Windows에서 iTunes 스타일 창을 "복제"하는 방법에 대해 누구나 통찰력을 줄 수 있습니까? 특히 나는 다음과 같은 기능을 찾고 있는데요 :Windows에서 iTunes 스타일의 윈도우를 어떻게 복제합니까?

1) 창 2 둥근) 상단과 하단 도구 모음 3) 텍스트 필드를

나는 현재 실제 스튜디오와 함께 크로스 플랫폼 개발의 약간을 시도하고있어 둥근 OS X (HIWindowSetContentBorderThickness 또는 SetContentBorderThickness에 대한 메서드 호출 선언)에서 둥근 윈도우를 수행하는 메커니즘을 발견했지만 Windows에서 비슷한 작업을 수행하는 방법을 MSDN에서 찾을 수 없습니다. 분명히 애플은 실제로 윈도우 용 아이튠즈를 만들면서 그것을 성취했다. 아마도 그들은 사용자 정의 컨트롤을 처음부터 작성했을 것입니다.

SIDENOTE : 몇 년 전부터이 기사를 간단히 살펴 보았습니다. (http://discuss.joelonsoftware.com/default.asp?joel.3.454369.12)하지만 이것은 거의 찾을 수 있습니다 .

정확하게 복제 할 수 없더라도 "수동으로"해야 할 기능이 Windows 라이브러리에 포함되어있을 수 있습니다. 더 이상의 도움을 주시면 대단히 감사하겠습니다.

+0

둥근 창 등을 원하거나 정확히 iTunes를 복제 하시겠습니까? 전자는 꽤 쉽습니다. 후자는 많은 디자인과 코딩을 필요로 할 것이고, 애플이 일을 다시 바꾸 자마자 더 이상 정확하게 아이튠즈를 복제하지 않을 것이다. 그래서 당신은 CoreFoundation/등에서 사적 기능을 찾아 내고 싶어 할 것이다. 애플이 아이튠즈, 퀵타임, 사파리와 번들로 묶어서 사용한다. 그렇다면 (a) 모양의 창을위한 Windows API, (b) Apple이 수행하는 모든 작업을 복제하는 완벽한 솔루션, (c) Apple의 개인 메서드를 가져 오는 방법에 대한 조언이 있습니까? – abarnert

+0

갖고 계시지 만, "A"옵션만으로도 충분할 것입니다. –

답변

1

Apple 스타일의 둥근 모서리를 수행하는 API는 없지만 원하는 모양의 창 (프레임 창과 컨트롤 모두)을 만드는 하위 수준의 API가 있습니다.

나는 RealStudio를 사용하지 않는,하지만 난 그래서 당신이 .NET과 네이티브는 Win32 API를 모두 액세스 할 수 있습니다 생각 : 당신은 .NET Windows.Forms를 사용하는 경우

Shaped Windows Forms and Controls in Visual Studio .NET를 참조하십시오. VB7 용으로 작성되었지만 원하는 언어로 쉽게 번역 할 수 있어야합니다.

원시 Win32 API를 사용하는 경우 최소한 두 가지 방법이 있습니다. 가장 단순하지만 제한적이며 SetWindowRgn API를 호출하면 창의 모양이 HRGN으로 만들 수있는 모든 것으로 설정됩니다. 그러나 그것은 아마 당신을 위해 그것을 자르지 않을 것입니다. 들쭉날쭉 한 가장자리는 원하지 않습니다. 알파 블렌딩 된 테두리 및 어쩌면 그림자가있는 부드러운 커브를 원합니다. (적어도 애플이 그렇다.) Layered Windows API가이를위한 방법이다. UpdateLayeredWindow를 사용하면 임의의 도형을 변경할 수 있습니다 (iTunes를 에뮬레이트하기 위해 해당 기능이 필요하지 않지만, UpdateLayeredWindow를 사용하면 즉시 변경 가능). 알파 투명도 및 복잡한 히트 테스트. 원본 기사가 매우 오래되어서 모든 기능을 다루지 않으므로 참고 문헌에 대한 링크가있는 현재 문서에 대해서는 Layered Windows을 참조하십시오.

관련 문제