次の方法で共有


DrawToolTipEventArgs.Graphics プロパティ

定義

ToolTip の描画に使用されるグラフィックスの表面を取得します。

public:
 property System::Drawing::Graphics ^ Graphics { System::Drawing::Graphics ^ get(); };
public System.Drawing.Graphics Graphics { get; }
member this.Graphics : System.Drawing.Graphics
Public ReadOnly Property Graphics As Graphics

プロパティ値

Graphics を描画する ToolTip

次のコード例では、 をカスタム描画する方法を ToolTip示します。 この例では、 を ToolTip 作成し、 にある 3 つの Button コントロールに Form関連付けます。 この例では、 プロパティを OwnerDraw true に設定し、 イベントを処理します DrawDrawイベント ハンドラーでは、 ToolTip プロパティで示されているように、 が表示されているボタンToolTipに応じて、カスタムが異なる方法でDrawToolTipEventArgs.AssociatedControl描画されます。

次のコードの抜粋は、 メソッドと DrawBackground メソッドのDrawText使用と プロパティの使用をGraphics示しています。 完全な DrawToolTipEventArgs コード例については、クラスの概要を参照してください。

// Draw a custom 3D border if the ToolTip is for button1.
if ( e->AssociatedControl == button1 )
{
   // Draw the standard background.
   e->DrawBackground();
   
   // Draw the custom border to appear 3-dimensional.
   array<Point>^ temp1 = {Point(0,e->Bounds.Height - 1),Point(0,0),Point(e->Bounds.Width - 1,0)};
   e->Graphics->DrawLines( SystemPens::ControlLightLight, temp1 );
   array<Point>^ temp2 = {Point(0,e->Bounds.Height - 1),Point(e->Bounds.Width - 1,e->Bounds.Height - 1),Point(e->Bounds.Width - 1,0)};
   e->Graphics->DrawLines( SystemPens::ControlDarkDark, temp2 );
   
   // Specify custom text formatting flags.
   TextFormatFlags sf = static_cast<TextFormatFlags>(TextFormatFlags::VerticalCenter | TextFormatFlags::HorizontalCenter | TextFormatFlags::NoFullWidthCharacterBreak);
   
   // Draw the standard text with customized formatting options.
   e->DrawText( sf );
}
// Draw a custom 3D border if the ToolTip is for button1.
if (e.AssociatedControl == button1)
{
    // Draw the standard background.
    e.DrawBackground();

    // Draw the custom border to appear 3-dimensional.
    e.Graphics.DrawLines(SystemPens.ControlLightLight, new Point[] {
        new Point (0, e.Bounds.Height - 1), 
        new Point (0, 0), 
        new Point (e.Bounds.Width - 1, 0)
    });
    e.Graphics.DrawLines(SystemPens.ControlDarkDark, new Point[] {
        new Point (0, e.Bounds.Height - 1), 
        new Point (e.Bounds.Width - 1, e.Bounds.Height - 1), 
        new Point (e.Bounds.Width - 1, 0)
    });

    // Specify custom text formatting flags.
    TextFormatFlags sf = TextFormatFlags.VerticalCenter |
                         TextFormatFlags.HorizontalCenter |
                         TextFormatFlags.NoFullWidthCharacterBreak;

    // Draw the standard text with customized formatting options.
    e.DrawText(sf);
}
' Draw a custom 3D border if the ToolTip is for button1.
If (e.AssociatedControl Is button1) Then
    ' Draw the standard background.
    e.DrawBackground()

    ' Draw the custom border to appear 3-dimensional.
    e.Graphics.DrawLines( _
        SystemPens.ControlLightLight, New Point() { _
        New Point(0, e.Bounds.Height - 1), _
        New Point(0, 0), _
        New Point(e.Bounds.Width - 1, 0)})
    e.Graphics.DrawLines( _
        SystemPens.ControlDarkDark, New Point() { _
        New Point(0, e.Bounds.Height - 1), _
        New Point(e.Bounds.Width - 1, e.Bounds.Height - 1), _
        New Point(e.Bounds.Width - 1, 0)})

    ' Specify custom text formatting flags.
    Dim sf As TextFormatFlags = TextFormatFlags.VerticalCenter Or _
                         TextFormatFlags.HorizontalCenter Or _
                         TextFormatFlags.NoFullWidthCharacterBreak

    ' Draw standard text with customized formatting options.
    e.DrawText(sf)

注釈

オブジェクトを Graphics 使用して、 の特定の視覚的側面の描画を ToolTipカスタマイズします。 たとえば、 メソッドを使用して独自のツールヒントの背景を Graphics.FillRectangle 描画できます。

プロパティで Bounds 指定された四角形の外側で行われたカスタム描画は表示されません。 イベントを処理することで、表示される前に の ToolTip 境界を ToolTip.Popup 増やすことができます。

クラスにはDrawToolTipEventArgs、オペレーティング システムで DrawTextDrawBackground使用される標準的な方法で の個々のToolTip部分を描画する メソッド、および DrawBorder メソッドも用意されています。 これらのメソッドをオブジェクト メソッドと共に Graphics 使用して、ToolTip 標準の一部を作成し、他のパーツをカスタマイズできます。

適用対象