powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Странное поведение Canvas
4 сообщений из 4, страница 1 из 1
Странное поведение Canvas
    #39907851
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я чего-то не понимаю:

Код: 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
Странное поведение Canvas
    #39907858
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp,

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

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


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

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


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