Windows system >> Windowsの知識 >  >> Windows XPシステムチュートリアル >> XPシステムの基本 >> フォーム上でWindows XPスタイルコントロール

フォーム上でWindows XPスタイルコントロール

  
を使用します。まとめWindows XPは、ユーザーに現代的で超ファッション的な感覚を提供する新しいWindowsユーザーインターフェイス(UI)を開発しました。 Windows XPは、角の丸い光沢のあるコントロールと未来的なプログレスバーを備えた新しいスタイルのコントロールを作成しました。そして今、Visual Studio.Netもそのようなコントロールを持っています。そのため、開発者はそのようなクールなコントロールを自分のプログラムで使用できるようにしたいと考えています。答えはイエスです。プログラマがしなければならないのは、いくつかの参照とリソースファイルを追加することだけです。この資料では、Visual BasicおよびVisual C#で、Windows XPスタイルのコントロールを独自のプログラムに適用する方法を紹介するための例を紹介します。注:この記事に記載されているコントロールスタイルの機能は、Windows XPアプリケーションにのみ実装できます。ふたつ。はじめにコントロールスタイルの比較から始めましょう。 Windows XP下のコントロールはまったく新しい外観をしています。図は次のとおりです。VisualStudio.Netで提供されるコントロールはWindows XPのものと同じですが、外観はかなり異なります。図は次のとおりです。この記事では、Visual StudioのコントロールをWindows XPのコントロールと同じにする方法を、見栄えと使い勝手の良い方法で示します。フォームは、クライアント領域と非クライアント領域の2つの部分で構成されていると考えることができます。 Windows XPオペレーティングシステムで実行されているすべてのプログラムには、フォームフレーム、タイトルバー、および非クライアント領域用のスクロールバーを含む非クライアント領域があります。オペレーティングシステムは自動的にWindows XPスタイルを非クライアント領域に適用するため、何もしなくても、Windows XPを実行しているときは、プログラムに新しいスタイルのフォームフレーム、タイトルバー、およびスクロールバーがあることがわかります。そして、私たちが本当にやりたいことは、クライアント領域のコントロールもWindows XPのスタイルにすることです。三実装の原則非クライアント領域の外観は、現在適用されている視覚スタイルによって決まります。アプリケーションまたはオペレーティングシステムの表示スタイルは変更できます。前述のように、アプリケーションがWindows XP上で実行されると、フォームのスクロールバーとタイトルバーによってすぐに外観が変わります。アプリケーションがComctl32.dllバージョン6.0を使用している限り、一部のコントロールは自動的に新しい外観をレンダリングします。これらのコントロールは次のとおりです。その他のコントロールには特定の条件が必要です。具体的には、System.Windows.Forms.ButtonBaseクラスから継承するコントロール(Button、RadioButton、GroupBox、およびCheckBox)には、FlatStyleプロパティがあります。このプロパティは、コントロールを最初に描画する必要があることを示します。このプロパティを設定すると、次のようにコントロールを描画できます。FlatStyleプロパティがSystemに設定されている場合、コントロールの外観はユーザーのオペレーティングシステムの設定によって決まることがわかります。この場合、ユーザーのオペレーティングシステムがWindows XPの場合、対応するコントロールの外観はWindows XPスタイルになります。 FlatStyleプロパティがSystemに設定されている場合、表示スタイルを変更できるコントロールは次のとおりです。ButtonコントロールRadioButtonコントロールCheckBoxコントロールGroupBoxコントロール最後に、Windows XPおよびVisual Studioには次のコントロールがあります。ラベルコントロールLinkLabelコントロールDomainUpDownコントロールNumericUpDownコントロールCheckedListBoxコントロールマニフェストファイルの使用アプリケーションでWindows XPのルックアンドフィールを使用する場合は、マニフェストファイル(ビルドプロセス中にリソースを決定するために使用されるファイル)をプロジェクトに追加する必要があります。このファイルは、バージョン6.0のComctl32.dllファイルがプロジェクトに適用されていることを示します(このファイルが存在する限り)。バージョン6.0のComctl32.dllファイルのバージョンには、いくつかの新しいコントロールとコントロールのいくつかの新機能が含まれていますが、それ以前のバージョンとの最大の違いは、コントロールの外観の変更をサポートしていることです。以前のバージョンとは異なり、Comctl32.dllバージョン6.0は再リリースされていません。そのダイナミックリンクライブラリ(DLL)を含むオペレーティングシステムでのみ使用できます。 Windows XPには、バージョン5.0とバージョン6.0の両方が含まれています(デフォルトでは、アプリケーションはComctl32.dllバージョン5.0を使用します)。 Comctl32.dllのバージョン6.0には、ユーザーコントロールと一般的なコントロールが含まれています。あなたはそれらがWinodws XPのように見えるようにするためにこれらのコントロールに関連付けられたdllファイルを変更する必要があるだけです。ユーザーのコンピュータのオペレーティングシステムと連携するには、そのフォームコントロールがComctl32.dllのバージョン6.0を使用することを明示的に指定するために、アプリケーションにマニフェストファイルを作成する必要があります。マニフェストファイルは、リソースとして、または実行可能ディレクトリ内の個別のファイルとしてプログラムに含まれているXMLファイルです。したがって、アプリケーションがWindows XPと同じルックアンドフィールを持つには、次の条件を満たす必要があります。コントロールにFlatStyleプロパティがある場合は、それをFlatStyle.Systemに設定します。マニフェストファイルを作成し、バージョン6.0のComctl32.dllをアプリケーションにバンドルします(以下の例のマニフェストファイルは、Visual Studio.Netで構築されたアプリケーションにComctl32.dllをバンドルできます)。このリソース(マニフェストファイル)を実行可能ファイルに追加して再構築します。 Windows XPの視覚スタイルをコントロールに適用するWindows XPの視覚スタイルを適用する方法を学ぶ最も簡単な方法は、例を実行することを学ぶことです。この記事の最後で、簡単なアプリケーションを紹介し、そのフォーム上のコントロールにWindows XPの視覚スタイルを持たせます。次にしなければならないことは、次のとおりです。プログラムを使用するプロジェクトを作成し、フォームにいくつかのコントロールを追加します。マニフェストファイルを作成し、必要なDLLをアプリケーションにバンドルします。マニフェストファイルを実行可能ディレクトリに格納します。実行可能ファイルにリソース(マニフェストファイル)を追加し、新しいプロジェクトの作成を開始します...プロジェクトを作成します。新しいWindowsアプリケーションプロジェクトを作成します。 (注:プロジェクト名とプロジェクトが保存されているディレクトリを覚えておいてください。以下で役立ちます)2。ツールボックスから次のコントロールをフォームにドラッグして配置します。ButtonコントロールRadioButtonコントロールProgressBarコントロールCheckBoxコントロールLabelコントロール(注:Labelコントロールの外観は変わりませんが、フォーム上にドラッグアンドドロップされます。コントラスト)3。 Button、RadioButton、CheckBox、およびその他のコントロールのFlatStyleプロパティをSystemに設定します。 (ヒント:各コントロールをクリックしながらCtrlキーを押すと、これら3つのコントロールを同時に選択できます。次に、FlatStyleプロパティのドロップダウンボックスで[システム]を選択します。) Buttonコントロールをダブルクリックしてイベントハンドラを追加すると、コードエディタが自動的に開きます。 5。次のコードを追加して、ProgressBarコントロールのValueプロパティを設定し、新しいプログレスバーを表示できるようにします。 'Visual Basic Private Sub Button1_Click(ByVal sender System.Objectとして、_ ByVal e System.EventArgs)Button1を処理します。 ProgressBar1.Value = 50をクリックしますEnd Sub //C#private void button1_Click(object sender、System.EventArgs e){progressBar1.Value = 50;} [ビルド]メニューから[ビルド]オプションを選択します。 7。最後に、すべて保存します。マニフェストファイルを作成します。XMLファイルを作成し、正しいバージョンのComctl32.dllをアプリケーションにバンドルします。マニフェストファイルを作成して編集します。ソリューションエクスプローラで、プロジェクト名を右クリックします。追加 - >新しい項目の追加2 [新しい項目の追加]ダイアログボックスで、次の操作を行います。A.左側のボックスにある[Local Project Item]をクリックします。 B.右側のボックスで[テキストファイル]を選択します。 C.次のように[名前]ボックスにファイルに名前を付けます。.exe.manifest。したがって、アプリケーションの名前がMyXPAppの場合は、このXMLファイルにMyXPApp.exe.manifestという名前を付けます。 3。 [開く]ボタンをクリックすると、新しいファイルがテキストエディタで開きます。 4。テキストファイルに次のXMLを追加します。version = "1.0.0.0" processorArchitecture = "X86" name = "Microsoft.Winweb。" type = "win32"
Copyright © Windowsの知識 All Rights Reserved