https://bugs.winehq.org/show_bug.cgi?id=35127
--- Comment #24 from Nikolay Sivov bunglehead@gmail.com --- (In reply to Zhiyi Zhang from comment #23)
Tests show that there are times the content 2 bytes before and after $HTREEITEM+0x1a is not zero(Once there are 0x1 at lower 2 bytes). You can dump the memory of HTREEITEM pointed to to check it. And since MSDN says the pszText max displayed text will be 260 characters, I am pretty sure textWidth is a WORD.
Number of allowed characters does not limit measured width, in this case 260 char limit can't possibly guarantee that pixel width will fit in 2 bytes.