powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TTreeView в MDIChild форме
6 сообщений из 6, страница 1 из 1
TTreeView в MDIChild форме
    #39992335
ahmed sultanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, уважаемые коллеги.
Очень странную штуку обнаружил, переводя старое приложение с Delphi 7 на Delphi 10.1.

Из главной формы вызывается дочерняя
Код: pascal
1.
2.
f:=TForm5.Create(self);
f.FormStyle:=fsMDIChild;



В этой дочерней форме в обработчике OnShow заполняется структура TTreeView и на один из узлов позиционируется.
Например так:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
procedure TForm5.FormShow(Sender: TObject);
var
  n:TTreeNode;
begin
  n:=TreeView1.Items.AddChildFirst(nil,'11111');
  n:=TreeView1.Items.AddChildFirst(n,'22222');

  TreeView1.Items[1].Selected:=true;
end;



При выполнении Selected:=true для TTreeView не срабатывает событие OnChange !

При этом:
1. В Delphi 7 - OnChange срабатывал.
2. В 10.1 - если вызвать форму не как MDIChild, а модально - OnChange срабатывает
3. И если вызывать Selected:=true не из OnShow, а например по таймеру через 100 мс после OnShow - OnChange срабатывает

Что бы это могло быть и отчего так происходит?
...
Рейтинг: 0 / 0
TTreeView в MDIChild форме
    #39992368
Фотография Victor Cookin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ahmed sultanov,

верно ли я понял, что не срабатывает только когда программно меняете Selected?
...
Рейтинг: 0 / 0
TTreeView в MDIChild форме
    #39992372
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ahmed sultanovЧто бы это могло быть и отчего так происходит?

OnChange, Selected и ItemFocused вообще забавно взаимодействуют. Рекомендую устанавливать
последнюю парочку сразу.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
TTreeView в MDIChild форме
    #39992383
ahmed sultanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Victor Cookin,
Да. Не срабатывает если программно устанавливать selected, причем только в OnShow, для MDIChild формы, в Delphi 10.1
Во всех остальных случаях срабатывает.
...
Рейтинг: 0 / 0
TTreeView в MDIChild форме
    #39992385
ahmed sultanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,
Про ItemFocused не понял - это вроде не про TreeView?
...
Рейтинг: 0 / 0
TTreeView в MDIChild форме
    #39992627
Фотография Victor Cookin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ahmed sultanov
Victor Cookin,
Да. Не срабатывает если программно устанавливать selected, причем только в OnShow, для MDIChild формы, в Delphi 10.1
Во всех остальных случаях срабатывает.


Ну тогда чтоб не заморачиваться есть простой манёвр - сами и вызывайте OnChange.
Ну и логику можно прикрутить, чтобы не вызывать дважды, если критично.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TTreeView в MDIChild форме
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]