MenuItem.DrawItem 이벤트
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
메뉴 항목의 OwnerDraw 속성이 true
로 설정된 경우 메뉴 항목을 그리도록 요청할 때 발생합니다.
public:
event System::Windows::Forms::DrawItemEventHandler ^ DrawItem;
public event System.Windows.Forms.DrawItemEventHandler DrawItem;
member this.DrawItem : System.Windows.Forms.DrawItemEventHandler
Public Custom Event DrawItem As DrawItemEventHandler
이벤트 유형
예제
다음 코드 예제에서는 처리 하는 방법에 설명 합니다 DrawItem 이벤트입니다. 그리는 항목으로 사용 하 여 메뉴이 예제는 Brush 및 Font, 다음 그립니다는 Rectangle 메뉴 항목입니다. 그리기를 통해 수행 됩니다 합니다 Graphics 의 이벤트 처리기에 전달 되는 개체는 DrawItemEventArgs 매개 변수입니다. 이 예제에서는 초기화 되어는 OwnerDraw 항목에 대 한 속성 true
합니다. C# 예제에서는 후 폼의 생성자에 다음 코드를 추가 InitializeComponent
이벤트에 연결 합니다.
this.menuItem1.DrawItem += new DrawItemEventHandler(menuItem1_DrawItem);
// The DrawItem event handler.
private:
void menuItem1_DrawItem( Object^ /*sender*/, System::Windows::Forms::DrawItemEventArgs^ e )
{
String^ myCaption = "Owner Draw Item1";
// Create a Brush and a Font with which to draw the item.
Brush^ myBrush = System::Drawing::Brushes::AliceBlue;
System::Drawing::Font^ myFont = gcnew System::Drawing::Font( FontFamily::GenericSerif,14,FontStyle::Underline,GraphicsUnit::Pixel );
SizeF mySizeF = e->Graphics->MeasureString( myCaption, myFont );
// Draw the item, and then draw a Rectangle around it.
e->Graphics->DrawString( myCaption, myFont, myBrush, (float)e->Bounds.X, (float)e->Bounds.Y );
e->Graphics->DrawRectangle( Pens::Black, Rectangle(e->Bounds.X,e->Bounds.Y,Convert::ToInt32( mySizeF.Width ),Convert::ToInt32( mySizeF.Height )) );
}
// The DrawItem event handler.
private void menuItem1_DrawItem(object sender, System.Windows.Forms.DrawItemEventArgs e)
{
string myCaption = "Owner Draw Item1";
// Create a Brush and a Font with which to draw the item.
Brush myBrush = System.Drawing.Brushes.AliceBlue;
Font myFont = new Font(FontFamily.GenericSerif, 14, FontStyle.Underline, GraphicsUnit.Pixel);
SizeF mySizeF = e.Graphics.MeasureString(myCaption, myFont);
// Draw the item, and then draw a Rectangle around it.
e.Graphics.DrawString(myCaption, myFont, myBrush, e.Bounds.X, e.Bounds.Y);
e.Graphics.DrawRectangle(Pens.Black, new Rectangle(e.Bounds.X, e.Bounds.Y, Convert.ToInt32(mySizeF.Width), Convert.ToInt32(mySizeF.Height)));
}
' The DrawItem event handler.
Private Sub MenuItem1_DrawItem(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles MenuItem1.DrawItem
Dim MyCaption As String = "Owner Draw Item1"
' Create a Brush and a Font with which to draw the item.
Dim MyBrush As System.Drawing.Brush = System.Drawing.Brushes.AliceBlue
Dim MyFont As New Font(FontFamily.GenericSerif, 14, FontStyle.Underline, GraphicsUnit.Pixel)
Dim MySizeF As SizeF = e.Graphics.MeasureString(MyCaption, MyFont)
' Draw the item, and then draw a Rectangle around it.
e.Graphics.DrawString(MyCaption, MyFont, MyBrush, e.Bounds.X, e.Bounds.Y)
e.Graphics.DrawRectangle(Drawing.Pens.Black, New Rectangle(e.Bounds.X, e.Bounds.Y, MySizeF.Width, MySizeF.Height))
End Sub
설명
합니다 DrawItemEventArgs 에 전달 된 인수를 DrawItem 이벤트 처리기를 제공는 Graphics 그리기 및 메뉴 항목의 화면에서 다른 그래픽 작업을 수행할 수 있는 개체입니다. 애플리케이션의 요구를 충족 하는 사용자 지정 메뉴를 만들려면이 이벤트 처리기를 사용할 수 있습니다. 이벤트 처리에 대한 자세한 내용은 이벤트 처리 및 발생 을 참조하십시오.
적용 대상
추가 정보
.NET