|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#16
|
||||
|
||||
Цитата:
Код:
type TTrackBar = class(ComCtrls.TTrackBar) protected procedure CreateParams(var Params: TCreateParams); override; end; type TForm1 = class(TForm) TrackBar1: TTrackBar; .... procedure TTrackBar.CreateParams(var Params: TCreateParams); begin inherited; Params.Style:= Params.Style or CommCtrl.TBS_TOOLTIPS; end; Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#17
|
||||
|
||||
Цитата:
Код:
TTrackBar = class(ComCtrls.TTrackBar) procedure CreateParams(var Params: TCreateParams); override; end; ... procedure TTrackBar.CreateParams(var Params: TCreateParams); begin inherited CreateParams(Params); Params.Style := Params.Style and not TBS_ENABLESELRANGE or TBS_FIXEDLENGTH or TBS_TOOLTIPS; end; Это не изврат, а вполне документированный метод изменения класса под свои нужды. Хотелось через SetWindowLong, но в Дельфи 7 так не получилось, хоть все стили установились. Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#18
|
||||
|
||||
Возник вопрос, этот код действует на всех наследников данного переделанного класса, а как попроще можно такое проделать лишь с одним экземпляром, - создать свой класс, изменить и его использовать вместо родительского, делал так, но это просто не одна строка в коде набирается, других вариантов случайно нет?
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#19
|
||||
|
||||
Другой вариант, который не прошёл для TBS_TOOLTIPS, SetWindowLong или, действительно, писать свой класс.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |