Вниз
Скачать: CL | DM;

Как нарисовать бордюрчик другим цветом?   Найти похожие ветки 

 
Александр_30   (2002-04-27 11:49) [0]

Уважаемые мастера! Понадобилось перерисовать бордюрчик на PageControl, но что-то не идет. Ниже приведен программный крд в методе onCreate формы. Понять не могу, где я что не так делаю...

private
dc: Hdc;
Pen :hPen;
OldPen :hPen;
OldBrush :hBrush;
btnrgn: hRgn;
............................
implemenation
............................
procedure TForm1.FormCreate(Sender: TObject);
begin
PageControl1.Brush.Style := bsSolid;
dc:= GetWindowDC(PageControl1.Canvas.Handle);
GetWindowRgn(PageControl1.Handle, btnrgn);
Pen := CreatePen(PS_SOLID, 1, RGB(100, 135, 142));
OldPen := SelectObject(dc, Pen);
OldBrush := SelectObject(dc, GetStockObject(NULL_BRUSH));

FrameRgn(dc, btnrgn,pen,PageControl1.Width, PageControl1.Height);

SelectObject(dc, OldBrush);
SelectObject(dc, OldPen);
DeleteObject(Pen);
ReleaseDC(PageControl1.Handle, PageControl1.Canvas.Handle);
end;


-------------------------------
С уважением ко всем!


 
Cobalt ©   (2002-04-28 23:36) [1]

Вам нужно перерис овать(один раз) или перерис овывать(всегда)?
Если всегда, то пишите наследник компонента.
А вообще-то все у вас работает.
Вы ПРОСТО не успеваете это заметить, т.к. после OnCreate еще как минимум один раз форма перерисовыается.


 
Александр_30   (2002-04-29 11:23) [2]

Мне надо, чтоб енто чудище было просто с другим цветом рамки после создания формы :)


 
Cobalt ©   (2002-04-29 18:13) [3]

Таки вы не ответили (или я не понял?)
После создания - это "сразу после создания" и "далее всегда"?
Тогда пишите наследника, ищите, где он отрисовывает рамку, и замещайте своим обработчиком.



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.008 c
14-89033
strel
2002-05-25 18:42
2002.06.27
как сдел. чтоб при запуске DPR a открывались ранее откр-е файлы


4-89076
Deus
2002-04-29 18:14
2002.06.27
Как получить handle окна, имеющего фокус ввода?


1-88911
Device
2002-06-14 19:00
2002.06.27
как избавиться от мигания при перерисовке....


3-88731
Oleg_er
2002-06-04 06:20
2002.06.27
SQL-запрос


14-88986
MBo
2002-05-24 12:03
2002.06.27
Очередная несложная разминка для начинающих ;)




   Наверх