Текущий архив: 2004.09.26;
Скачать: CL | DM;
ВнизТриВью опять Найти похожие ветки
← →
][ncognito (2004-09-13 03:45) [0]Здравствуйте!
Картина:
Слева три вью, справа грид.
В тривью отображается внутренность некой папки с поддиректориями и файлами... Т.е. грубо говоря, элементы тривью - это папки и файлы.
Как должно работать:
При клике на ветвь, связанныю с файлом, этот файл загружается в грид. При клике на директорию или на другой файл, загруженный файл выгружается и, если клик был по др. файлу, то загружается уже он. Это всё прекрасно фурычит.
Нужно сделать чтоб:
При выгрузке файла, если он был изменён, выдавался запрс, а не сохранить ли изменения... с вариантами ответов "да" "нет" "незнаю(aka cancel)".
Дак вот, в этом вся трабла.
Если надавить на кансель, то хочется чтоб веточка, которая за текущий файл в ответе, опять ВЫДЕЛИЛАСЬ!!!
А не получается. Выделение прескакивает на тот элемент, по которому кликнули...
Надеюсь понятно разъямнил.
Вот код, который не пашет :(
procedure TfmMain.TreeChanging(Sender: TObject; Node: TTreeNode;
var AllowChange: Boolean);
begin
if IsFileChanged=true // если файл изменён
then begin
IsCardChanged:=false;
if MessageDlg("Сохранить изменеия в файле",mtConfirmation, [mbYes, mbNo, mbCancel], 0) = mrCancel
then tvInvTree.Select(LastNode); // пытаюсь вернуть выделение...
end
else begin
if [выбран файл] then begin
LoadCard(Node.Data);
LastNode:=tvInvTree.Selected;
end
else UnLoadCard;
end;
end;
← →
][ncognito (2004-09-13 04:05) [1]Сам разрулил
← →
evvcom © (2004-09-13 12:12) [2]Ну так написал бы, как разрулил. Правильный ответ: TreeView.OnChanging
Страницы: 1 вся ветка
Текущий архив: 2004.09.26;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.037 c