Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
14-88987
Dino
2002-05-23 15:30
2002.06.27
Install


3-88750
niko4543
2002-06-02 13:47
2002.06.27
DBImage


3-88717
savc
2002-06-01 12:22
2002.06.27
Как в таблицу(заполнененую) добавить новое поле


1-88923
Windeus
2002-06-15 04:05
2002.06.27
to #num line in RichEdit


1-88791
TRUP
2002-06-16 13:30
2002.06.27
Как очистить папку HISTORY?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский