Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Странное поведение Canvas / 4 сообщений из 4, страница 1 из 1
25.12.2019, 12:43
    #39907851
alekcvp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странное поведение Canvas
Я чего-то не понимаю:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
procedure TfmMain.lbClientsDrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
const
  PBarHeight: Integer = 10;
  PBarWidth: Integer = 60;
var
  ListBox: TListBox absolute Control;
  TopMargin: Integer;
begin
  with ListBox.Canvas do
  begin
    ...
    FillRect(Rect);
    ...
    Pen.Color := Font.Color;
    Brush.Style := bsClear;
    TopMargin := (Rect.Height - PBarHeight) div 2;
    Rectangle(Rect.Right - PBarWidth - 4, Rect.Top + TopMargin, Rect.Right - 4, Rect.Top + PBarHeight + TopMargin);
//    Pen.Style := psClear;
  end;
end;


Почему, если раскомментировать строчку 'Pen.Style := psClear;' - пропадает рамка от Rectangle, которая была нарисована ДО этой строчки?..
...
Рейтинг: 0 / 0
25.12.2019, 13:00
    #39907858
YuRock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странное поведение Canvas
alekcvp,

Очевидно, потому, что при следующем рисовании - стиль пера уже Clear.
...
Рейтинг: 0 / 0
25.12.2019, 13:01
    #39907860
x1ca4064
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странное поведение Canvas
alekcvp

Почему, если раскомментировать строчку 'Pen.Style := psClear;' - пропадает рамка от Rectangle, которая была нарисована ДО этой строчки?..


Процедура сколько раз отрабатывает?
...
Рейтинг: 0 / 0
25.12.2019, 13:02
    #39907862
alekcvp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странное поведение Canvas
YuRock
alekcvp,
Очевидно, потому, что при следующем рисовании - стиль пера уже Clear.

Блин, логично. Я почему-то был уверен что сам компонент перед вызовом OwnerDraw выставляет дефолтные параметры для кисти и пера, как он это делает с цветом кисти...
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Странное поведение Canvas / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]