c - What is the difference between LVM_GETITEM and LVM_GETITEMTEXT? -
i want text of listview row (text of item , subitems), not sure if should use lvm_getitem or lvm_getitemtext . what difference between these 2 messages, first retrieve entire information item or subitem while other retrieve text? both lvm_getitem , lvm_getitemtext can used retrieve item's or subitem's text data. since retrieving item's text data common operation, lvm_getitemtext message provided convenience implementation. to illustrate difference, here 2 implementations using either message (error handling elided brevity): std::wstring getlistviewitemtext( hwnd a_hwnd, int a_item, int a_subitem) { std::vector<wchar_t> buffer( 1024 ); lvitem lvi = { 0 }; lvi.mask = lvif_text; // required when using lvm_getitem lvi.psztext = buffer.data(); lvi.cchmaxtext = static_cast<int>( buffer.size() ); lvi.iitem = a_item; // required when using lvm_getitem lvi.isubitem = a_subitem; ::sendmessage( hwnd, lvm_getitem,