● 비트맵 정보 헤더
● 원형
 
구조
 
구조 멤버
biSize ━ 이 구조체 바이트 크기
biWidth ━ 비트맵 폭 픽셀수
biHeight ━ 비트맵 높이 픽셀수
biPlanes ━ 면수
biBitCount ━ 픽셀당 비트수
biCompression ━ 압축 방법
biSizeImage ━ 이미지 크기
biXPelsPerMeter ━ 미터당 픽셀수 수평
biYPelsPerMeter ━ 미터당 픽셀수 수직
biClrUsed ━ 칼라 테이블의 칼라수
biClrImportant ━ 필요한 칼라수
● 상수
● biCompression 사용, 압축 방법

상수 설명
BI_RGB 0 압축되지 않음
BI_RLE8 1
BI_RLE4 2
BI_BITFIELDS 3
BI_JPEG 4 JPEG 이미지
BI_PNG 5 PNG 이미지

'API > 선언' 카테고리의 다른 글

BITMAPFILEHEADER 구조  (0) 2011.12.16
WM_PRINT 메세지  (0) 2011.11.20
GetDeviceCaps 함수  (0) 2011.11.04
FLASHWINFO 구조  (0) 2011.10.28
FlashWindowEx 함수  (0) 2011.10.28

● 비트맵 파일의 헤더
● 원형
 
구조
 
구조 멤버
bfType ━ 파일 타입, BM
bfSize ━ 비트맵 파일 크기, 바이트
bfReserved1 ━ 0
bfReserved2 ━ 0
bfOffBits ━ 이 구조의 시작에서 부터 비트맵 비트 데이타가 시작되는 옵셋 위치

'API > 선언' 카테고리의 다른 글

BITMAPINFOHEADER 구조  (0) 2011.12.16
WM_PRINT 메세지  (0) 2011.11.20
GetDeviceCaps 함수  (0) 2011.11.04
FLASHWINFO 구조  (0) 2011.10.28
FlashWindowEx 함수  (0) 2011.10.28

● 지정된 윈도우의 시각적인 부분을 지정된 DC에 그릴때 발생
● 원형
 
 ● 선언
WM_PRINT = &H317
wparam
지정된 윈도우를 그릴 윈도우의 DC 핸들
● lparam
지정된 윈도우에서 어떤 부분을 그릴지를 나타낸다. OR로 묶을수 있다.
● 상수
● lparam에서 사용, 지정된 윈두에서 그릴 영역

상수 16 설명
PRF_CHECKVISIBLE 1 시각적으로 보이는 윈도우만 그린다
PRF_CHILDREN 10 모든 보이는 자식 윈도우를 그린다
PRF_CLIENT 4 윈도우의 클라이언트 영역만 그린다
PRF_ERASEBKGND 8 윈도우 그리기전에 배경은 지운다
PRF_NONCLIENT 2 윈도우의 비클라이언트 영역만 그린다
PRF_OWNED 20 모든 소유한 윈도우를 그린다

이 메세지를 보내므로서 윈도우의 자식 윈도우가 포함 되어 있을 경우
자식 윈도우가 포함된 클라이언트 영역의 이미지를 얻을수 있다.

'API > 선언' 카테고리의 다른 글

BITMAPINFOHEADER 구조  (0) 2011.12.16
BITMAPFILEHEADER 구조  (0) 2011.12.16
GetDeviceCaps 함수  (0) 2011.11.04
FLASHWINFO 구조  (0) 2011.10.28
FlashWindowEx 함수  (0) 2011.10.28

● 관련 ━ 디스플레이,장치,정보
● 디스플레이 장치의 정보를 얻는다
● 원형
 
선언
GetDeviceCaps Lib "GDI32" (ByVal hdc As Long, ByVal nIndex As Long) As Long
인수
hdc ━ 알고자 하는 DC 정보
nIndex ━ 알고자 하는 DC의 속성
● 반환
성공 ━ 지정된 항목에 해당하는 값
● 상수
● nIndex 사용, 속성

상수 설명
DRIVERVERSION 0 DC와 관련된 장치의 드라이버 버전
TECHNOLOGY 2 디바이스의 종류를 조사한다. DC의 대상 장치가 프린터인지 화면인지를 구분할 수 있다
HORZSIZE 4 장치의 폭(밀리미터)
VERTSIZE 6 장치의 높이(밀리미터)
HORZRES 8 장치의 폭(픽셀)
VERTRES 10 장치의 높이(픽셀)
LOGPIXELSX 88 인치당 X축 픽셀수
LOGPIXELSY 90 인치당 Y축 픽셀수
BITSPIXEL 12 픽셀당 비트수
PLANES 14 색상면의 수
NUMBRUSHES 16 장치의 브러쉬 갯수
NUMPENS 18 장치의 펜의 갯수
NUMFONTS 22 장치의 폰트 갯수
NUMCOLORS 24 장치가 8bpp이하 일경우 색상 테이블의 항목 수
ASPECTX 40 선을 그을때 상대적인 폭
ASPECTY 42 선을 그을때 상대적인 높이
ASPECTXY 44 선을 그을때 대각선의 폭
PDEVICESIZE 26 예약
CLIPCAPS 36 장치의 클리핑 능력,클리핑 가능은 1, 그렇치 않으면 0
SIZEPALETTE 104 시스템 팔레트의 엔트리 갯수
NUMRESERVED 106 시스템 팔레트의 예약된 엔트리 갯수
COLORRES 108 장치의 실제 색상 수
PHYSICALWIDTH 110 프린터에 해당하며, 페이지의 실제 폭
PHYSICALHEIGHT 111 프린터에 해당하며, 페이지의 실제 높이
PHYSICALOFFSETX 112 인쇄 가능한 영역과 용지와의 X축 거리
PHYSICALOFFSETY 113 인쇄 가능한 영역과 용지와의 X축 거리
SCALINGFACTORX 114 프린터 확대시 X축 비율
SCALINGFACTORY 115 프린터 확대시 Y축 비율
RASTERCAPS 38 장치의 래스트 출력 능력
CURVECAPS 28 장치의 곡선 기능
LINECAPS 30 장치의 선 기능
POLYGONALCAPS 32 장치의 폴리곤 기능
TEXTCAPS 34 장치의 문자처리 기능
● nIndex 에서 TECHNOLOGY 지정시 반환된 값
상수 설명
DT_PLOTTER 0 벡터 플로터
DT_RASDISPLAY 1 라스터 표시장치
DT_RASPRINTER 2 라스터 프린터
DT_RASCAMERA 3 라스터 카메라
DT_CHARSTREAM 4 문자 스트림
DT_METAFILE 5 메타파일
DT_DISPFILE 6 디스플레이 파일
● nIndex 에서 RASTERCAPS 지정시 반환된 각 비트값
상수 16 설명
RC_BANDING 2 밴딩 지원이 요구
RC_BITBLT 1 비트맵 전송을 지원,BitBlt 함수 사용 가능
RC_BITMAP64 8 64K 이상 비트맵 지원
RC_DI_BITMAP 80 Get(Set)DlBits 함수 사용 가능
RC_DIBTODEV 200 SetDlBitsToDevice 함수 사용 가능
RC_FLOODFILL 1000 면 채우기 기능 사용 가능
RC_GDI20_OUTPUT 10 16비트 윈도우 2.0 기능 지원
RC_PALETTE 100 팔레트 기반 장치
RC_SCALING 4 확대 지원
RC_STRETCHBLT 800 StretchBlt 함수 사용 가능
RC_STRETCHDIB 2000 StretchDIBits 함수 사용 가능
● nIndex 에서 CURVECAPS 지정시 반환된 값
상수 설명
CC_NONE 0 곡선을 지원하지 않음
CC_CIRCLES 1 원을 그릴 수 있음
CC_PIE 2 파이(Pie)를 그릴 수 있음
CC_CHORD 4 현을 그릴 수 있음
CC_ELLIPSES 8 타원을 그릴 수 있음
CC_WIDE 16 넓은 원주선을 그릴 수 있음
CC_STYLED 32 무뉘가 있는 원주선을 그릴 수 있음
CC_WIDESTYLED 64 넓은 무뉘가 있는 원주선을 그릴 수 있음
CC_INTERIORS 128 내부 장식이 가능함
CC_ROUNDRECT 256 둥근 사각형을 그릴 수 있음
● nIndex 에서 LINECAPS 지정시 반환된 값
상수 설명
LC_NONE 0 선을 지원하지 않음
LC_POLYLINE 2 다각선을 지원함
LC_MARKER 4 표시마크를 지원함
LC_POLYMARKER 8 여러 표시마크를 지원함
LC_WIDE 16 넓은 선을 지원함
LC_STYLED 32 무늬 선을 지원함
LC_WIDESTYLED 64 넓은 무늬 선을 지원함
LC_INTERIORS 128 내부 장식을 지원함
● nIndex 에서 POLYGONALCAPS 지정시 반환된 값
상수 설명
PC_NONE 0 폴리곤을 지원하지 않음
PC_POLYGON 1 채움 폴리곤을 지원함
PC_RECTANGLE 2 사각형을 지원함
PC_WINDPOLYGON 4 구불구불한 폴리곤을 지원함
PC_SCANLINE 8 단일 스캔라인을 지원함
PC_WIDE 16 넓은 외곽선을 지원함
PC_STYLED 32 무늬 있는 외곽선을 지원함
PC_WIDESTYLED 64 넓은 무늬 있는 외곽선을 지원함
PC_INTERIORS 128 내부 장식을 지원함
● nIndex 에서 TEXTCAPS 지정시 반환된 값
상수 16 설명
TC_OP_CHARACTER 1 문자 출력
TC_OP_STROKE 2 강조 문자 출력
TC_CP_STROKE 4 강조 클립 성능
TC_CR_90 8 90도 회전 가능
TC_CR_ANY 10 모든 문자 회전 가능
TC_SF_X_YINDEP 20 x 또는 y 방향으로 크기 변경 가능
TC_SA_DOUBLE 40 2배 크기 가능
TC_SA_INTEGER 80 문자 크기를 위해 배수 확대 가능
TC_SA_CONTIN 100 정확한 문자 크기를 위한 배수 확대 가능
TC_EA_DOUBLE 200 2중 문자 지원
TC_IA_ABLE 400 이탤릭 문자 지원
TC_UA_ABLE 800 밑줄 문자 지원
TC_SO_ABLE 1000 강조 지원
TC_RA_ABLE 2000 래스터 글꼴 지원
TC_VA_ABLE 4000 백터 글꼴 지원
TC_RESERVED 8000 예약
TC_SCROLLBLT 10000 비트 블록 이동을 이용한 스크롤 사용불가

'API > 선언' 카테고리의 다른 글

BITMAPFILEHEADER 구조  (0) 2011.12.16
WM_PRINT 메세지  (0) 2011.11.20
FLASHWINFO 구조  (0) 2011.10.28
FlashWindowEx 함수  (0) 2011.10.28
FlashWindow 함수  (0) 2011.10.28
● 윈도우의 캡션바나, 작업표시줄의 해당 윈도우의 버튼을 깜박이게하는 정보
● 원형
 
구조
 
구조 멤버
cbSize ━ 이 구조의 크기
hwnd ━ 깜박이게 할 윈도우 핸들
dwFlags ━ 플래그
uCount ━ 깜박이는 횟수
dwTimeout ━ 깜박이는 속도, 밀리초(ms)
● 상수
● dwFlags 사용, 플래그(하나 이상 OR 연결 사용 가능)
상수 16 설명
FLASHW_STOP 0 깜박임 정자,윈도우 원래 상태로
FLASHW_CAPTION 1 윈도우 캡션바 깜박임
FLASHW_TRAY 2 윈도우의 작업표시줄 버튼 깜박임
FLASHW_ALL 3 FLASHW_CAPTION Or FLASHW_TRAY
FLASHW_TIMER 4 연속적인 깜박임, FLASHW_STOP이 호출될 때까지
FLASHW_TIMERNOFG C 연속적인 깜박인, 윈도우가 활성 상태가 될 때까지

'API > 선언' 카테고리의 다른 글

WM_PRINT 메세지  (0) 2011.11.20
GetDeviceCaps 함수  (0) 2011.11.04
FlashWindowEx 함수  (0) 2011.10.28
FlashWindow 함수  (0) 2011.10.28
SetTimer 함수  (0) 2011.10.21

● 윈도우와, 윈도우의 작업표시줄에 표시된 항목을 깜박거리개 한다.
● 원형
 
선언
FlashWindowEx Lib "user32" (pfwi As FLASHWINFO) As Boolean
● 인수
pfwi ━ 윈도우 핸들
● 반환
이 함수를 호출하기 전의 윈도우의 상태, 윈도우가 활성 상태이면 0이 아닌 값, 그 외는 0

'API > 선언' 카테고리의 다른 글

GetDeviceCaps 함수  (0) 2011.11.04
FLASHWINFO 구조  (0) 2011.10.28
FlashWindow 함수  (0) 2011.10.28
SetTimer 함수  (0) 2011.10.21
KillTimer 함수  (0) 2011.10.21

● 윈도우와, 윈도우의 작업표시줄에 표시된 항목을 깜박거리개 한다.
● 원형
 
● 선언

FlashWindow Lib "user32" (ByVal hWnd As Long, ByVal bInvert As Long) As Boolean
● 인수
hWnd ━ 윈도우 핸들
bInvert ━ True이면 윈도우의 상태를 반전, False이면 윈도우의 원래 상태로
● 반환
이전 상태

'API > 선언' 카테고리의 다른 글

FLASHWINFO 구조  (0) 2011.10.28
FlashWindowEx 함수  (0) 2011.10.28
SetTimer 함수  (0) 2011.10.21
KillTimer 함수  (0) 2011.10.21
CopyMemory,MoveMemory,RtlMoveMemory 함수  (0) 2011.10.15

● 타이머를 설정한다, 타이머 제거시 KillTimer를 사용한다
● 원형
 
선언 
SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
● 인수
hwnd ━ 타이머와 연관된 윈도우 핸들(호출될 쓰레드를 포함하는 윈도우),
nIDEvent ━ 0이 아닌 타이머 식별자
uElapse ━ 타임아웃 시간,밀리초
lpTimerFunc ━ 타임아웃시 호출할 콜백함수 TimerProc
● 복귀
성공 ━ hwnd가 Null이면 타이머 식별자,hwnd가 Null이 아니면 0이 아닌값
실패 ━ 0

'API > 선언' 카테고리의 다른 글

FlashWindowEx 함수  (0) 2011.10.28
FlashWindow 함수  (0) 2011.10.28
KillTimer 함수  (0) 2011.10.21
CopyMemory,MoveMemory,RtlMoveMemory 함수  (0) 2011.10.15
GetWindowDC 함수  (0) 2011.10.13

● 타이머를 제거한다
● 원형
 
선언
KillTimer Lib "user32" (ByVal hwnd As Long, ByVal uIDEvent As Long) As Long
● 인수
hwnd ━ 타이머와 연관된 윈도우 핸들
uIDEvent ━ 타이머 식별자로, hwnd이 Null이 아니면 SetTimer에 uIDEvent값, hwnd이 Null이면 타이머 식별자인
SetTimer의 반환값 지정
● 복귀
성공 ━ 0이 아닌값
실패 ━ 0

'API > 선언' 카테고리의 다른 글

FlashWindow 함수  (0) 2011.10.28
SetTimer 함수  (0) 2011.10.21
CopyMemory,MoveMemory,RtlMoveMemory 함수  (0) 2011.10.15
GetWindowDC 함수  (0) 2011.10.13
WM_ACTIVATE 윈도우 메세지  (0) 2011.10.13

● 메모리의 지정된 부분을 복사한다.
● 사용시 Type 데이타형 복사시에 Type데이타를 직접 사용하여도 된다, copymemory a,b,lenb(b)
● 원형

● 선언
CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
MoveMemory Lib "kernel32" Alias "RtlMoveMemory" (pDest As Any, pSource As Any, ByVal dwLength As Long) RtlMoveMemory Lib "kernel32" (hpvDest As Any, ByVal hpvSource As Long, ByVal cbCopy As Long)
● 인수
Destination ━ 복사받을 변수
Source ━ 복사할 변수
Length ━ 복사할 바이트 수

'API > 선언' 카테고리의 다른 글

SetTimer 함수  (0) 2011.10.21
KillTimer 함수  (0) 2011.10.21
GetWindowDC 함수  (0) 2011.10.13
WM_ACTIVATE 윈도우 메세지  (0) 2011.10.13
ReleaseDC 함수  (0) 2011.10.11

● 지정된 윈도우의 핸들의 DC를 얻는다.
● 반환은 ReleaseDC를 사용한다.
● 원형
HWND WINAPI GetDesktopWindow(void); 
선언 
GetWindowDC Lib "user32" (ByVal hwnd As Long) As Long
● 인수
hwnd ━ DC를 얻고 싶은 윈도우 핸들, Null(0)이면 전체 화면 DC를 반환한다.
● 반환
성공 ━ 핸들에서 얻은 DC
실패 ━ Null

'API > 선언' 카테고리의 다른 글

KillTimer 함수  (0) 2011.10.21
CopyMemory,MoveMemory,RtlMoveMemory 함수  (0) 2011.10.15
WM_ACTIVATE 윈도우 메세지  (0) 2011.10.13
ReleaseDC 함수  (0) 2011.10.11
GetDC 함수  (0) 2011.10.11

● 윈도우가 활성,비활성화 될 때 발생한다
● 원본
#define WM_ACTIVATE 0x0006
● 선언
WM_ACTIVATE= &H6
● wparam
하위 워드는 윈도우가 활성,비활성인지를 나타낸다.
윈도우가 최소화 상태인지를 나타낸다. 0이 아닌 값이면 최소화 상태
● lparam
윈도우 활성될때 이전의 활성 윈도우 핸들,윈도우가 비활성 될 때 다음에 활성되는 윈도우 핸들
● 상수
wparam 하위 워드 사용, 윈도우 활성,비활성 여부

상수 설명
WA_ACTIVE 1 활성
WA_CLICKACTIVE 2 마우스 클릭에 의한 활성
WA_INACTIVE 0 비활성

'API > 선언' 카테고리의 다른 글

KillTimer 함수  (0) 2011.10.21
CopyMemory,MoveMemory,RtlMoveMemory 함수  (0) 2011.10.15
GetWindowDC 함수  (0) 2011.10.13
ReleaseDC 함수  (0) 2011.10.11
GetDC 함수  (0) 2011.10.11

● 원형
int ReleaseDC(
  __in  HWND hWnd,
  __in  HDC hDC
)
● 지정된 윈도우의 DC를 반환,해제한다
GetWindowDC, GetDC로 얻은 DC
● 선언
ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hDC As Long) As Long
● 인수
hwnd ━ 반환할 DC를 갖는 핸들
hDC ━ 반환할 DC
● 반환
성공 ━ 1이면 반환
실패 ━ 0이면 반환 실패


'API > 선언' 카테고리의 다른 글

KillTimer 함수  (0) 2011.10.21
CopyMemory,MoveMemory,RtlMoveMemory 함수  (0) 2011.10.15
GetWindowDC 함수  (0) 2011.10.13
WM_ACTIVATE 윈도우 메세지  (0) 2011.10.13
GetDC 함수  (0) 2011.10.11

● 원형
HDC GetDC(
  __in  HWND hWnd
)
● 지정된 윈도우 핸들에서 클라이언트 영역만 사용 가능한 DC(커먼 DC)를 얻는다.
● 반환은 ReleaseDC를 사용한다.
● 선언
GetDC Lib "user32" (ByVal hwnd As Long) As Long
● 인수
hwnd ━ DC를 얻고 싶은 핸들
● 반환
성공 ━ 핸들에서 얻은 DC의 핸들
실패 ━ Null

'API > 선언' 카테고리의 다른 글

KillTimer 함수  (0) 2011.10.21
CopyMemory,MoveMemory,RtlMoveMemory 함수  (0) 2011.10.15
GetWindowDC 함수  (0) 2011.10.13
WM_ACTIVATE 윈도우 메세지  (0) 2011.10.13
ReleaseDC 함수  (0) 2011.10.11

+ Recent posts