型
定義名 |
型 |
ビット数 |
内容 |
BOOL |
int |
32 |
ブール値 |
BYTE |
unsigned char |
8 |
8ビットの符号なし整数 |
WORD |
unsigned short |
16 |
16ビット符号なし整数(Windows3.1ではWORDとUNITは同じ) |
DWORD |
unsigned long |
32 |
32ビットの符号なし整数 |
DWORDLONG |
unsigned __int64 |
64 |
|
CHAR |
char |
8 |
|
UCHAR |
unsigned char |
8 |
|
SHORT |
short |
16 |
|
USHORT |
unsigned short |
16 |
|
INT |
int |
32 |
|
UINT |
unsigned int |
32 |
32ビット環境(Win32)では32ビット符号なし整数 |
LONG |
long |
32 |
32ビット符号付き整数 |
ULONG |
unsigned long |
32 |
|
LONGLONG |
__int64 |
64 |
|
ULONGLONG |
unsigned __int64 |
64 |
|
FLOAT |
float |
32 |
|
DOUBLE |
double |
64 |
|
HANDLE |
void* |
32 |
|
WPARAM |
UINT |
-- |
ウィンドウプロシージャ、コールバック関数への引数として渡される値 |
LPARAM |
LONG |
-- |
ウィンドウプロシージャ、コールバック関数の引数として渡される32ビット値 |
LRESULT |
LONG |
-- |
ウィンドウプロシージャ、コールバック関数から返される32ビット値 |
COLORREF |
DWORD |
-- |
カラー値として使われる32ビット値 |
LPSTR |
CHAR* |
-- |
文字列への32ビットポインタ |
LPCSTR |
const CHAR* |
-- |
定数文字列への32ビットポインタ |
WCHAR |
unsigned short |
-- |
Unicode文字 |
LPWSTR |
WCHAR* |
-- |
|
LPCWSTR |
const WCHAR* |
-- |
|
TCHAR |
char or unsigned short ※1 |
-- |
|
LPTSTR |
TCHAR* |
-- |
UnicodeとDBCSへの移植性が高い文字列への32ビットポインタ |
LPCTSTR |
const TCHAR* |
-- |
UnicodeとDBCSへの移植性が高い定数文字列への32ビットポインタ |
OLECHAR |
unsigned short |
-- |
|
LPCOLESTR |
const OLECHAR* |
-- |
|
LPVOID |
-- |
-- |
型指定のない32ビットポインタ |
LPCRECT |
-- |
-- |
定数の(変更不可能な)RECT構造体への32ビットポインタ |
文字列型
TCHAR型は、下記のようにUNICODEが定義されているかどうかで、型が決定される。
#ifdef UNICODE
typedef WCHAR TCHAR;
#else
typedef char TCHAR;
#endif
型 |
ユニコード |
マルチバイト |
TCHAR |
WCHAR |
CHAR(char) |
LPTSTR |
WCHAR* |
CHAR*(char*) |
LPCTSTR |
const WCHAR* |
const CHAR*(const char*) |
_T("文字列"), _TEXT("文字列") |
L"文字列" |
"文字列" |
参考)
LPCSTR (Long Pointer to Constant null-terminated STRing)
LPCWSTR (Long Pointer to Constant null-terminated Wide STRing)
LPCTSTR (Long Pointer to Constant null-terminated Template STRing)
例)
// 共通
TCHAR* pStr = _T("文字列");
const TCHAR* pStr = "文字列";
LPCTSTR pStr = "文字列";
// ユニコード
WCHAR* pStr = L"文字列";
const WCHAR* pStr = "文字列";
LPCWSTR pStr = "文字列";
// マルチバイト
char* pStr = "文字列";
const CHAR* pStr = "文字列";
LPCSTR pStr = "文字列";
値
一般
定義名 |
値 |
MAX_PATH |
260 |
NULL |
0 |
FALSE |
0 |
TRUE |
1 |
CALLBACK |
__stdcall |
WINAPI |
__stdcall |
WINAPIV |
__cdecl |
APIENTRY |
WINAPI |
APIPRIVATE |
__stdcall |
PASCAL |
__stdcall |
メッセージ
定義名 |
値 |
WM_USER |
0x0400 |
WM_APP |
0x8000 |
メッセージの定義範囲
Min |
Max |
意味 |
0x0000 |
0x03FF(WM_USER-1) |
システム用メッセージ。 |
0x0400(WM_USER) |
0x7FFF |
自ウィンドウ用メッセージ。 |
0x8000(WM_APP) |
0xBFFF |
自アプリ用メッセージ。 |
0xC000 |
0xFFFF |
アプリ間用メッセージ。 |
上記範囲以外(0x1000~) |
将来の予約メッセージ。 |
関数
_countof()
TRACE()
プログラムからのメッセージをデバッガの [出力] ウィンドウに表示する。
例)
int x = 1;
int y = 16;
float z = 32.0;
TRACE( "This is a TRACE statement\n" );
TRACE( "The value of x is %d\n", x );
TRACE( "x = %d and y = %d\n", x, y );
TRACE( "x = %d and y = %x and z = %f\n", x, y, z );
実際
デバックする場合、日本語も問題なく使用できるので、OutputDebugString()の方がいい。
参照
コメント
最終更新:2010年11月08日 18:38