Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.11;
Скачать: CL | DM;

Вниз

TKolTabControl - как отключить отдельные страницы   Найти похожие ветки 

 
GMax   (2005-10-04 14:46) [0]

возникла проблема, при запуске вычислительного процесса в отдельном треде запретить пользователю переключаться на другие закладки в TabControl.

можно сделать Tab.Pages[x].Enable:=False,
однако заголовок "серым" не становится и возможность переключиться на страницу остаётся, что вводит в недоумение пользователей.

делать EnableChildren() не пойдёт, потому что на закладках контролы включаются\выключаются независимо друг от друга, а запоминать положение отдельных контролов - всё равно, что руками их выключать. да и заголовок таба всё равно не серый.

Tab.Pages[x].Visible:=False, чтобы вообще отключить показ страницы не срабатывает.

что ещё можно сделать ?


 
Vladimir Kladov   (2005-10-04 17:54) [1]

Схема такая: OnMessage - перехватытвать WM_NOTIFY с сообщением TCN_SELCHANGING, возвращать 1 в Rslt, чтобы не переключал. А чтобы закладки посерели - через OwnerDraw только (толко в KOL я так еще не пробовал, мне кажется просто не разрешить уже хорошо). А вообще, можно TabControl заменить на что-нибудь. Да хотя бы на выбор страницы из комбо-списка.


 
GMax   (2005-10-04 22:19) [2]

вот это моё исправление добавьте тоже, пожалуйста:

KOL.PAS
procedure TControl.SetDateTime(Value: TDateTime);
var ST: TSystemTime;
begin
DateTime2SystemTime( Value, ST );
Perform( DTM_SETSYSTEMTIME, Integer( IsNAN( Value ) ) , Integer( @ ST ) );
end;

первую строчку необходимо заменить на

if (Not IsNAN(Value)) then DateTime2SystemTime( Value, ST );

потому как если там NAN, то DateTime2SystemTime молча умирает на trunc()


 
GMax   (2005-10-04 22:48) [3]

с сообщением получилось, спасибо.

а цвет заголовков выставить негде ? как это в VCL делается, тоже через ownerdraw ?



Страницы: 1 вся ветка

Текущий архив: 2006.06.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.026 c
15-1146942869
dj0n
2006-05-06 23:14
2006.06.11
fastreport


1-1146815899
Layner
2006-05-05 11:58
2006.06.11
Поиск всех возможных комбинаций


15-1148039880
iZEN
2006-05-19 15:58
2006.06.11
Сначала подсадить на иглу, а потом требовать деньги.


2-1148374554
Ironman83
2006-05-23 12:55
2006.06.11
Динамическое создание TEdit ов


11-1127931560
Kozz
2005-09-28 22:19
2006.06.11
Почему Thread1 останавливается ?