通知
すべてクリア
Topic starter
2004年8月3日 11:30 AM
windows特有のLPCTSTRって型ありますよね?
あれって末尾がNULLな文字列へのポインタ(const char *)だと思っていたのですが、
どうなんでしょう?
というのも次のコードの意味が分からないのです。
LPCTSTR str[] = { 123, 456, 789 }; // グローバル領域
void func()
{
for(i=0; i<3; ++i)
AppendMenu(hMenu, MF_OWNERDRAW, IDM_MENU + i, (LPCTSTR)i);
}
AppendMenu()の第4引数はLPCTSTR型を取っているのですが、なぜ(LPCTSTR)iでいいので
しょうか?
str[i]だと思うのですが、これだとうまくいかないのです。
自動的に何らかの変換を行っているのでしょうか?
それともLPCTSTR自体の定義がconst char *じゃないのでしょうか?
Topic starter
2004年8月3日 11:39 AM
あ、ごめんなさい。
MFT_OWNERDRAWの場合は第4引数はアプリケーションで定義する32ビットの値となって
いました。
でもこれがグローバル領域で定義されている文字列のインデックスとどうして対応する
のでしょうか?
文字列なんていくつも定義するでしょうし・・・
Topic starter
2004年8月3日 11:44 AM
すみません、おもいっきり勘違いしてました。
自己解決です。