1. 화면해상도
Screen 전역개체의 Width와 Height(Twip 단위)
픽셀로 바꾸려면 Screen 개체에 존재하는 TwipsPerPixelX, TwipsPerPixelY 속성을 이용.
한 픽셀당 트윕의 수.
즉, 픽셀값으로 변환되는 화면의 크기는 ...
화면의 넓이 : Screen.Width / Screen.TwipsPerPixelX
화면의 높이 : Screen.Heigth / Screen.TwipsPerPixelY
2. 화면 캡쳐
일단 픽쳐박스를 하나 만들어 놓고 아래와 같이 코딩
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, _
ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, _
ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Sub Command1_Click()
Picture1.AutoRedraw = True
BitBlt Picture1.hDC, 0, 0, Screen.Width / Screen.TwipsPerPixelX, Screen.Height / Screen.TwipsPerPixelY, _
GetDC(GetDesktopWindow), 0, 0, &HCC0020
End Sub
hDestDC : 그려질 화면의 DC 핸들
x, y : 그려질 화면의 좌우측 좌표
nWidth, nHeight : 그려질 화면의 크기 (캡쳐할 화면의 크기를 입력하면 됩니다...)
hSrcDC : 복사할 화면의 DC 핸들
xSrc, ySrc : 복사할 화면의 복사를 할 좌우측 좌표
dwRop : 복사모드 (이것을 조정하여 기존의 그림과 합칠수도 있음. 기본적으로 Paint 모드를 사용)