Winapi.ShlObj у IShellFolder = interface(IUnknown)
Или вопроса не поняла?
-1? А он нормально переваривает такое указание колонки?
Видимо нет, судя по приписке к багу) Попробовала убрать -1, но он проскакивает, т.к. колонок нет if pSortColumn = -1 then begin // check whether a valid ShColumnID is set - bug #5880 if (ListView.SortColumnShellIndex < 0) then pSortColumn := ListView.SortColumn else pSortColumn := ListView.SortColumnShellIndex; end; //Мои две строчки для проверки: if (pSortColumn<0) and (ListView.Columns.Count>0) then pSortColumn := 0;
Просто судя по документации: "A value that specifies how the comparison should be performed. The lower sixteen bits of lParam define the sorting rule. Most applications set the sorting rule to the default value of zero, indicating that the two items should be compared by name. The system does not define any other sorting rules. Some folder objects might allow calling applications to use the lower sixteen bits of lParam to specify folder-specific sorting rules. The rules and their associated lParam values are defined by the folder. When the system folder view object calls IShellFolder::CompareIDs, the lower sixteen bits of lParam are used to specify the column to be used for the comparison. The upper sixteen bits of lParam are used for flags that modify the sorting rule. The system currently defines these modifier flags."
После отказа от сортировки (все равненькие) слома не происходит. Но вот работает правильно ли? Попробую в боевой программе //Мои две строчки для проверки: if ListView.Columns.Count=0 then begin result := 0; exit; end;
Ну надо же до чего хороший вопрос) Самой как-то не понравился -1, но не так чтобы зацепило. Вот что значит правильный вопрос -половина ответа )) Вроде все пучком, по крайней мере не хуже. Спасибо !! Всем спасибо. Не было бы предыдущих вопросов, -1 бы не вылез
Обсуждают сегодня