Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ТриВью опять [D6, WinXP]


][ncognito ©   (2004-09-13 03:45:00) 

Здравствуйте!

Картина:

Слева три вью, справа грид.
В тривью отображается внутренность некой папки с поддиректориями и файлами... Т.е. грубо говоря, элементы тривью - это папки и файлы.

Как должно работать:

При клике на ветвь, связанныю с файлом, этот файл загружается в грид. При клике на директорию или на другой файл, загруженный файл выгружается и, если клик был по др. файлу, то загружается уже он. Это всё прекрасно фурычит.

Нужно сделать чтоб:

При выгрузке файла, если он был изменён, выдавался запрс, а не сохранить ли изменения... с вариантами ответов "да" "нет" "незнаю(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;


evvcom   (2004-09-13 12:12:00) [1]

Ну так написал бы, как разрулил. Правильный ответ: TreeView.OnChanging


][ncognito   (2004-09-13 04:05:00) [2]

Сам разрулил


Наверх

Титульная страница Поиск, карта сайта Написать письмо