型
| 定義名 |
型 |
ビット数 |
内容 |
| 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