タイトルバーの高さを調べる

.NET (VB)の内容
【注意書き】
●VB.NET を使っているものとします。
●動作環境は、Windows XX を使用しているとします。


.NET でも、タイトルバーの高さを取得することが可能です。

この機能を使えば、簡単に、アプリケーション側で
タイトルバーにあわせたラベルの設置を行って、
オリジナルのタイトルバーを作りたいといった
場合などに活用できます。


フォームに次の様なコードを記述します


-----------VB.NETコーディングここから-------------------


1.フォームに、ラベルコントロール
    を配置します。
    下記は、デフォルトのオブジェクトの名前と配置を示しています。

   ┏━━━━━━━━━━━━┓
   ┃Label1                  ┃
   ┗━━━━━━━━━━━━┛



2.フォームをダブルクリックして、
    フォームロードイベントのコード編集を開始して、
    次のコードを記述します。

    Private Sub Form1_Load(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles MyBase.Load


        With Label1

            .Width = Me.Width

            'タイトルバーの高さ
            .Height = SystemInformation.CaptionHeight

            '.Top = Me.Height - .Height - _
            'SystemInformation.CaptionHeight - 8

            .Top = 0
            .Left = 0

            .BackColor = _
            System.Drawing.Color.FromName("ActiveCaption")

            .Font = Me.Font
            .ForeColor = System.Drawing.Color.White

            .TextAlign = ContentAlignment.BottomLeft
            .Text = Me.Text
        End With


    End Sub



3.ビルドして実行します。

4.フォームに表示されたタイトルバーの真下に、
    タイトルoーの長さと高さにあわせたラベルが
    表示される事を確認できます。






-----------VB.NETコーディングここまで-------------------

本サンプルでは、ラベルコントロールへ
タイトルバーの高さを設置しています。

            'タイトルバーの高さ
            .Height = SystemInformation.CaptionHeight

SystemInformation クラスの CaptionHeight から取得しています

本サンプルでは、比較の為、
実際のタイトルバーの表示は、そのままにしています。

オリジナルのウィンドウとタイトルバーを本格的に作る場合は、
タイトルバーを消し、フォームをマウスドラッグできる形式に
アプリケーション側を調整する必要がありますね。





 

http://anetm.com/dev/d.cgi?SC=DTDTL&o=OwV

Copyright(c)2001-2006 Ai Net Makoto 記事・情報の無断転載を禁止します。