Форум: "WinAPI";
Текущий архив: 2002.06.27;
Скачать: [xml.tar.bz2];
ВнизКак нарисовать бордюрчик другим цветом? Найти похожие ветки
← →
Александр_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 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.06.27;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.006 c