「’info’ : ‘tagTVGETITEMPARTRECTINFO’ のメンバではありません。」と言われてコンパイルが通らないので TreeView_GetItemPartRectの定義を見てみる。
#define TreeView_GetItemPartRect(hwnd, hitem, prc, partid) \ { TVGETITEMPARTRECTINFO info; \ info.hti = (hitem); \ info.prc = (prc); \ info.partID = (partid); \ (BOOL)SNDMSG((hwnd), TVM_GETITEMPARTRECT, 0, (LPARAM)&info); \ }
やりたいことはわかる。
わかるんだけど、最後のところ、こんな構文あったっけ?
そもそも、ドキュメントを見ると partidの型は「TVITEMPART *」なのに TVGETITEMPARTRECTINFO.partIDって「TVITEMPART」だよね?
ビルドを通るようにして修正しても動作しないのでもうちっと調べてみたら…TVM_GETITEMPARTRECT自体が Vista以降か…_no
VC8における _WIN32_WINNTのデフォルト値は 0x601で 7以降向けなのね。
まぁ TreeView_GetItemRectで間に合うところでこいつが目に付いたので試した見ただけ。