> 最初に、対照のノードのハンドルを貰ってきて
> 自分で用意しておいた、TVITEM構造体にそのハンドルをセットして
> で、TVITEM構造体にもまた、
> bufというテキストを受け取る所を用意しておかないと
> テキストが取得出来ない・・
> (しかもGETITEMを送らないと取得出来ない)
TVM_GETITEMでツリービューのアイテム情報を取得したい場合、
TVITEM構造体にあらかじめ必要なデータを設定しておかなければいけない訳なんです、が...。
TVITEM構造体には、アイテムのハンドル(llbyさんの場合クリックされたアイテムのハンドル)と、どんなデータを取得するのかと、取得するデータが文字列ならその受け皿と、その受け皿の大きさを設定した後、実際に情報を取得するという動きをするんですよね。
意味不明かな...。
> MSDNには、それが書いてあるんだろうと思うのですが
> MSDNでの検索の仕方が良く分かりません。
> (検索していても、解決にいたりません)
TVM_GETITEMと検索してみましたか?
コード:
char szBuffer[MAXTEXTLEN+1];
TV_ITEM item;
item.hItem = hItem;
item.mask = TVIF_TEXT | TVIF_CHILDREN;
item.pszText = szBuffer;
item.cchTextMax = MAXTEXTLEN;
SendMessage(hWnd, TVM_GETITEM, 0, (LPARAM)&item);
MSDN2で
TVM_GETITEMで検索してこのサンプルコードを見つけたんですけど、これで "TVITEM構造体のpszTextメンバには文字列バッファへのアドレスを格納するんだな" って分かるんですけど、難しいでしょうかね?