본문 바로가기

Windows/MFC

casting

[code]
VS8.0 에서 CASTING 문제가 많이 발생하는 편인데
다음과 같은 매크로를 이용하면 좋을듯 해보인다.

LONG_PTR 형 찾다가 우연히 발견.. 역시나 헤더파일은 찾아봐야 한다니깐..
basetsd.h
[/code]

#define HandleToULong( h ) ((ULONG)(ULONG_PTR)(h) )
#define HandleToLong( h ) ((LONG)(LONG_PTR) (h) )
#define ULongToHandle( ul ) ((HANDLE)(ULONG_PTR) (ul) )
#define LongToHandle( h ) ((HANDLE)(LONG_PTR) (h) )
#define PtrToUlong( p ) ((ULONG)(ULONG_PTR) (p) )
#define PtrToLong( p ) ((LONG)(LONG_PTR) (p) )
#define PtrToUint( p ) ((UINT)(UINT_PTR) (p) )
#define PtrToInt( p ) ((INT)(INT_PTR) (p) )
#define PtrToUshort( p ) ((unsigned short)(ULONG_PTR)(p) )
#define PtrToShort( p ) ((short)(LONG_PTR)(p) )
#define IntToPtr( i )    ((VOID *)(INT_PTR)((int)i))
#define UIntToPtr( ui ) ((VOID *)(UINT_PTR)((unsigned int)ui))
#define LongToPtr( l ) ((VOID *)(LONG_PTR)((long)l))
#define ULongToPtr( ul ) ((VOID *)(ULONG_PTR)((unsigned long)ul))

'Windows > MFC' 카테고리의 다른 글

HostToNetworkOrder NetWorkToHostOrder  (0) 2013.10.02
CScrollInfo SCROLLINFO  (0) 2013.10.02
Fullscreen (전체 화면 )  (0) 2013.10.02
CHeaderCtrl  (0) 2013.10.02
Custom Control (커스텀 컨트롤) 사용하기  (0) 2013.10.02