1

WindowsでiTunesスタイルのウィンドウを「複製」する方法について、誰かが洞察を提供できますか? 具体的には、次の機能を探しています。

1) 丸みを帯びたウィンドウ 2) 上下のツールバー 3) 丸みを帯びたテキスト フィールド

私は現在、Real Studio を使用してクロスプラットフォーム開発を少し試みています。OS X で丸みを帯びたウィンドウを実行するメカニズム (HIWindowSetContentBorderThickness または SetContentBorderThickness へのメソッド呼び出しを宣言する) を発見しましたが、MSDN でその方法を見つけることができません。 Windowsで同様のことを行う。明らかに、Apple は実際に Windows 用の iTunes を作成することでそれを達成しました。おそらく、彼らはカスタム コントロールをゼロから作成したのでしょう。

補足: 数年前にこの記事を見つけましたが、それについて簡単に説明しています (http://discuss.joelonsoftware.com/default.asp?joel.3.454369.12)。

正確に複製することはできませんが、「手動で」実行するために必要な機能が Windows ライブラリに含まれている可能性があるという方向性があればよいでしょう。さらなる支援をいただければ幸いです。

4

2 に答える 2

1

あなたが望むことをするサードパーティのコントロールがあります。Mac と Windows で動作します。

http://www.madebyfiga.com/fgsourcelist/

うまくいきます。

sb

于 2012-11-27T05:59:23.800 に答える
1

Apple スタイルの丸みを帯びた角を作成するための API はありませんが、任意の形状のウィンドウ (フレーム ウィンドウとコントロールの両方) を作成するための下位レベルの API があります。

私は RealStudio を使用していませんが、.NET とネイティブの Win32 API の両方にアクセスできると思います。

.NET Windows.Forms を使用している場合は、「 Visual Studio .NET で整形された Windows フォームとコントロール」を参照してください。VB7 用に書かれていますが、お気に入りの言語に簡単に翻訳できるはずです。

生の Win32 API を使用している場合、これを行うには少なくとも 2 つの方法があります。最も簡単ですが、最も限定的な方法は、SetWindowRgn API を呼び出すことです。これにより、ウィンドウの形状が HRGN として作成できる任意のものに設定されます。しかし、それはおそらくあなたのためにそれをカットしません. ギザギザのエッジは望ましくありません。滑らかな曲線、アルファブレンドされた境界線、およびおそらく影が必要です。(少なくとも、Apple はそうしています。) Layered Windows API は、これを行う方法です。任意の形状 (UpdateLayeredWindow を使用すればその場で変更することもできますが、iTunes をエミュレートするためにその機能は必要ありません)、アルファ透明度、および複雑なヒット テストが可能です。元の記事は非常に古く、すべての機能をカバーしていないため、レイヤード ウィンドウも参照してください。参照へのリンクがある現在のドキュメントの場合。

于 2012-06-28T21:12:44.893 に答える