Цитата:
Сообщение от JunkieBeat
Спасибо,обошелся временным файлом,не красиво но по рабочему))
Насколько я понял проблема была в том что оператор "about:" принимает ограниченное кол-во символов,а я туда целую страницу посылал,вот и ошибка вылетала.
|
А?
Цитата:
Сообщение от JunkieBeat
Но теперь вопрос оффтопом, мне интересно было бы модифицировать компонент PageControl ,а точнее добавить кнопки на вкладки что бы они закрывались. Создал класс,унаследовал его от TPageControl и тут же встал в тупик,ибо хз где прописывать создание кнопки и тд)))
Знаю что такой компонент много кто делает и его можно скачать,но мне интересно написать его самому, может кто уже занимался велосипедами и подскажет как это реализовать или может какие то статейки по этому поводу)
|
Обычно такое делают не наследуя от TPageControl, а пишут полностью с нуля. Вот например как
эти компоненты.
Но можно и над TPageControl поиздеваться. Например он умеет отображать на вкладках картинки если подключить к нему TImageList через свойство Images в которое можно картинку "крестика" поместить. И потом при нажатии (а лучше при отжатии) левой кнопки мышки проверять - если мышка находится над этой картинкой с крестиком, то уничтожать (или скрывать) соответствующую вкладку:
Код:
procedure TForm1.PageControl1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
pt: TPoint;
idx: Integer;
begin
pt := PageControl1.ScreenToClient(Mouse.CursorPos);
if htOnIcon in PageControl1.GetHitTestInfoAt(pt.X, pt.Y) then
begin
idx := PageControl1.IndexOfTabAt(pt.X, pt.Y);
if idx >= 0 then PageControl1.Pages[idx].Free;
end;
end;
Ещё вместо использования свойства Images можно самому полностью отрисовывать вкладку если установить свойство OwnerDraw в True и прописать отрисовку на событии OnDrawTab.