Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.11;
Скачать: CL | DM;

Вниз

Утечка GDI ресурсов при рисовании по TListView.Canvas   Найти похожие ветки 

 
www.shegeda.by.ru   (2004-06-24 10:08) [0]

Форма:
object Form1: TForm1
 object ListView1: TListView
   Left = 8
   Top = 8
   Width = 250
   Height = 150
   Columns = <
     item
       AutoSize = True
     end>
   Items.Data = {
     500000000300000000000000FFFFFFFFFFFFFFFF000000000000000003313233
     00000000FFFFFFFFFFFFFFFF00000000000000000333343500000000FFFFFFFF
     FFFFFFFF000000000000000003353637}
   ReadOnly = True
   RowSelect = True
   TabOrder = 0
   ViewStyle = vsReport
   OnClick = ListView1Click
   OnCustomDrawItem = ListView1CustomDrawItem
 end
end

Код:
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
 ComCtrls;

type
 TForm1 = class(TForm)
   ListView1: TListView;
   procedure ListView1Click(Sender: TObject);
   procedure ListView1CustomDrawItem(Sender: TCustomListView;
     Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.ListView1Click(Sender: TObject);
begin
 ListView1.Invalidate;
end;

procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
 Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
 with ListView1.Canvas.Brush do
 begin
   case Item.Index of
     0: Color := clYellow;
     1: Color := clGreen;
     2: Color := clRed;
   end;
 end;
end;

end.

Компилируем, запускаем. Предварительно толкаем "Индикатор сисменых ресурсов" (RSRCMTR.EXE)
Достаточно раз 20 щёлкнуть по ListView, чтобы увидеть значительное уменьшение ресурсов GDI (этот эффект, скорее всего не будет заметен в WindowsNT/2000/XP)
Люди! Подскажите, как этого избежать? Такой чудесный контрол, а я не могу его полноценно использовать из-за этого прикола...


 
www.shegeda.by.ru   (2004-06-24 12:35) [1]

ребятки, давайте подумаем! Я уже полгода мучаюсь, но раньше обходился StringGrid, а теперь припекло...



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

Текущий архив: 2004.07.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.042 c
3-1087127689
AlexG
2004-06-13 15:54
2004.07.11
JOIN и условия


1-1088158593
lion
2004-06-25 14:16
2004.07.11
бесформенное приложение


3-1087042017
Anna
2004-06-12 16:06
2004.07.11
Хранимые процедуры


3-1087235294
Homer
2004-06-14 21:48
2004.07.11
Работа с MySQL


14-1088063193
Романов Р.В.
2004-06-24 11:46
2004.07.11
Что такое