클리엘
CLIEL LAB
클리엘
전체 방문자
오늘
어제
  • 분류 전체보기 (513)
    • Mobile (47)
      • Kotlin (47)
    • Web (84)
      • NestJS (9)
      • HTML5 & CSS3 (38)
      • Javascript (20)
      • TypeScript (6)
      • JQuery (11)
    • .NET (300)
      • C# (83)
      • ASP.NET (67)
      • Windows API for .NET (128)
    • Server (53)
      • SQL Server (10)
      • MariaDB (18)
      • Windows Server (6)
      • node.js (19)
    • System (12)
      • 작업LOG (12)
    • Review (11)
    • ETC (6)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 블로그 정리

인기 글

태그

  • LINQ
  • ASP.NET
  • asp.net core
  • asp.net core web api
  • node.js
  • c#
  • android studio
  • Kotlin
  • Entity Framework
  • JavaScript
  • exception
  • CSS3
  • android
  • HTML5
  • NestJS
  • MariaDB
  • Windows API
  • .NET
  • 변수
  • jQuery

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
클리엘

CLIEL LAB

.NET/Windows API for .NET

DrawFocusRect - 선택모양의 점선사각형 그리기

2019. 8. 5. 17:22
728x90

DrawFocusRect함수는 마치 해당 위치로 Focus가 이동한 듯한 점선모양의 사각형을 그립니다.

Declare Function DrawFocusRect Lib "user32" Alias "DrawFocusRect" (ByVal hdc As Integer, ByRef lpRect As RECT) As Integer

- VB.NET 선언

[DllImport("user32")]
public static extern int DrawFocusRect(int hdc, ref RECT lpRect);

- C# 선언

 

DrawFocusRect함수의 첫번째 인수는 사각형을 표시할 Device Context를 기술합니다.

 

[Windows API for .NET] - GetDC - Window및 Control의 Device Context 구하기

[Windows API for .NET] - GetWindowDC - 현재 Windows화면의 Device Context 구하기

 

DrawFocusRect함수의 두번째 인수는 사각형을 그릴 위치및 크기에 대한 좌표가 지정된 구조체를 전달합니다. 해당 구조체는 예를 들어 왼쪽 10부터 가로 50, 상단 10부터 세로 50만큼의 사각형을 생성하고자 할때 다음과 같이 선언될 수 있습니다.

Public Structure RECT
    Public left As Integer
    Public top As Integer
    Public right As Integer
    Public bottom As Integer
End Structure

Dim norRECT As RECT
norRECT.left = 10
norRECT.top = 10
norRECT.right = 50
norRECT.bottom = 50

- VB.NET

public struct RECT
{
    public int left;
    public int top;
    public int right;
    public int bottom;
}

RECT norRECT = default(RECT);
norRECT.left = 10;
norRECT.top = 10;
norRECT.right = 50;
norRECT.bottom = 50;

- C#

 

위 인수내용을 토대로 Form위에 사각형을 그리려면 DrawFocusRect함수를 다음과 같이 호출할 수 있습니다.

DrawFocusRect(GetDC(Me.Handle), norRECT)

- VB.NET 호출

DrawFocusRect(GetDC((int)this.Handle), ref norRECT);

- C# 호출

 

이 함수는 만일 실행에 실패하면 0을 반환합니다.

728x90
저작자표시 비영리 변경금지

'.NET > Windows API for .NET' 카테고리의 다른 글

GetTickCount - Windows가동 시간알아내기  (0) 2019.08.05
GetFileAttributes - File및 Folder속성 확인  (0) 2019.08.05
SetVolumeLabel - Volume의 이름설정  (0) 2019.08.05
DestoryWindow - Window화면 닫기  (0) 2019.08.05
SHGetSpecialFolderPath - Windows System관련 Folder 가져오기  (0) 2019.08.05
    '.NET/Windows API for .NET' 카테고리의 다른 글
    • GetTickCount - Windows가동 시간알아내기
    • GetFileAttributes - File및 Folder속성 확인
    • SetVolumeLabel - Volume의 이름설정
    • DestoryWindow - Window화면 닫기
    클리엘
    클리엘
    누구냐 넌?

    티스토리툴바