Форум: "Прочее";
Текущий архив: 2008.03.30;
Скачать: [xml.tar.bz2];
ВнизКак убрать у TPageControl бордюр? Найти похожие ветки
← →
Base (2008-02-19 03:14) [0]А то у меня их несколько друг на друге. Эти борюдры слишком выпирают и портят внешний вид. Как победить?
← →
korneley © (2008-02-19 08:27) [1]Свойство Style. Поставь tsButtons или tsFlatButtons. Если не подходит - рисовать все самому.
← →
ЗапомниСынок (2008-02-19 09:39) [2]...
TPageControl = class(ComCtrls.TPageControl)
protected
procedure WndProc(var Message : TMessage); override;
end;
...
TForm1 = class(TForm)
...
PageControl1: TPageControl;
...
end;
...
implementation
...
procedure TPageControl.WndProc(var Message : TMessage);
begin
if Message.Msg = TCM_ADJUSTRECT then
begin
inherited WndProc(Message);
// Шириной в один пиксел:
PRect(Message.LParam)^.Left := 1;
PRect(Message.LParam)^.Right := ClientWidth-1;
PRect(Message.LParam)^.Top := PRect(Message.LParam)^.Top-3;
PRect(Message.LParam)^.Bottom := ClientHeight-1;
// Совсем без границ
//PRect(Message.LParam)^.Left := 0;
//PRect(Message.LParam)^.Right := ClientWidth;
//PRect(Message.LParam)^.Top := PRect(Message.LParam)^.Top-4;
//PRect(Message.LParam)^.Bottom := ClientHeight;
end
else
inherited WndProc(Message);
end;
← →
korneley © (2008-02-19 10:21) [3]
> ЗапомниСынок (19.02.08 09:39) [2]
Т.е. ректальные методы и нынче в ходу?
TPageControl = class(ComCtrls.TPageControl)
Переопределение классов под одинаковыми именами и дальнейшая манипуляция юнитами в секцииUses
?
← →
ЗапомниСынок (2008-02-19 13:07) [4]в секции uses ничем манипулировать не надо, а метод может и некрасивый, но вполне рабочий
← →
boa_kaa © (2008-02-19 13:52) [5]
> korneley © (19.02.08 10:21) [3]
он не ректальный, а PRect"альный
← →
korneley © (2008-02-19 14:49) [6]
> ЗапомниСынок (19.02.08 13:07) [4]
> в секции uses ничем манипулировать не надо...
Ну, как минимум, постоянно следить, чтобы твой юнит в объявлениях позже ComCtrls стоял. Насчет рабочий:var s: string[3];
i: integer absolute s;
...
s := #0#0#0;
Абсолютно рабочий. Но как мне объяснить читающему за мной, что это я так целое со значением "3" инициализировал? И, главное, зачем? :) Нет, если вы пишете только для себя и "на раз"...
← →
ЗапомниСынок (2008-02-19 16:29) [7]>> Ну, как минимум, постоянно следить, чтобы твой юнит в объявлениях позже ComCtrls стоял.
Ты, раз уж мы перешли на "Ты", видимо, не утрудился взглянуть на пример.
Объявление TPageControl = class(ComCtrls.TPageControl) находится в том же модуле, где и форма, на которой этот PageControl и находится.
Этот способ несколько раз обсуждался на Королевстве Delphi, вступать в дискуссию о его правомерности у меня нет ни мальейшего желания. Для меня он как нельзя лучше подходит в случае, когда требуется внести небольшие изменения в функциональность компонента, не засоряя палитру.
← →
korneley © (2008-02-19 17:17) [8]За "ты" приношу извинения... Не со зла :) Да и здесь тоже была полемика, и судя по всему мы с Вами на разных сторонах.
> ...вступать в дискуссию о его правомерности у меня нет ни
> мальейшего желания...
Аналогично... Потратим это время на написание чего-нибудь полезного :)
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2008.03.30;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.046 c