2014-03-26 3 views
1

일반 점선 초점 사각형을 그려야합니다.VB.NET 포커스 사각형 그리기

나는 GDI + 클래스에서

Public Declare Function DrawFocusRect Lib "user32" (ByVal hdc As Long, lpRect As RECT) As Long 

에 해당하는이 있는지 알고 싶습니다/VB.NET의 System.Drawing 관리되는 그 같은 작업을 수행합니다.

감사합니다.

내 게시물을 편집해야합니다. 어떤 이유로 ControlPaint.DrawFocusRectangle이 비트 맵에서 유지되지 않습니다.

따라서 비트 맵에도 다른 방법이 있는지 묻고 싶습니다.

답변

4

ControlPaint 클래스에는 일반적인 컨트롤 관련 그래픽 요소를 그리는 데 유용한 도구가 많이 있습니다. 여기에는 찾고있는 것을 수행해야하는 DrawFocusRectangle 메소드가 포함되어 있습니다. MSDN에서 :

지정된 그래픽 표면과 지정된 범위 내에서 포커스 사각형을 그립니다.
...
포커스 사각형은 Windows에서 현재 키보드 포커스가있는 컨트롤을 나타내는 데 사용하는 점으로 구분 된 사각형입니다.

당신은 예를 들어, ControlPaint 클래스의 인스턴스를 생성하지 않고 호출 할 수 있도록이하는 Shared 방법입니다 :

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    ControlPaint.DrawFocusRectangle(Button1.CreateGraphics(), Button1.ClientRectangle) 
End Sub 

또한 전경을 지정할 수있는 방법에 overload있다 및 배경색.

그것은 System.Windows.Forms.dll 라이브러리에 의해 정의 된 System.Windows.Forms 네임 스페이스에, 그래서 당신이 요청처럼은 기술적으로 System.Drawing 라이브러리의 일부가 아니지만, 당신이 필요한 경우, 심지어의 WinForm 응용 프로그램의 외부에서 해당 라이브러리를 참조하고 사용할 수 있어야합니다 .

+0

이것은 내가 필요한 것을 완벽하게합니다. 고맙습니다! – tmighty