В обработчике WM_DESTROY сохраняю состояние COLUMN'ов ListView'a в реестре для последующего восстановления. .... invoke SendMessage,_Load,LVM_GETCOLUMN,0,addr lvc invoke RegSetValueEx,hKey,addr aLvc,0,REG_DWORD,addr lvc.lx,4 Сначала всё нормально работаело, но потом обнаружился странный глюк, если при завершении программы фокус был у EDIT'a, то после запроса LVM_GETCOLUMN в lvc.lx получается 0. Если в фокусе был ListView или какаянибудь кнопка то всё нормально. Немогу понять что за фигня такая, пробовал так же обробатывать всё это дело в WM_CLOSE, но тогда в lvc.lx заносится воабще какойто бред типо 12985, независимо от фокуса. Так же пробовал сделать SetFocus,_Load перед вызовом LVM_GETCOLUMN ни чего не изменилось. Вот сижу думаю что это, глюк винды или я что то неправильно делаю? Все остальные параметры сохраняются нормально.
Может имелось ввиду LVM_SETSELECTIONMARK? потому что LVM_GETSELECTIONMARK не принимает параметров а в описание LVM_SETSELECTIONMARK написано я так понимаю это означает что данное сообщение не воздействует на выделение, попробовал, функция отрабатывает, возвращает индекс предведущего выделеного элемента но индекс выделения переданый ей не устанавливает.
имелось ввиду, что есть выделенный элемент и надо узнать(установить) его номер. есле же надо сделать какойто элемент выделенным, то стоит обратить внимание на передачу структуры с lvi.state=LVIS_SELECTED при посылке LVM_SETITEMSTATE.