Главная страница
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.051 c
14-1087972511
Карелин Артем
2004-06-23 10:35
2004.07.11
Где найти анализатор логов сервера формата IAS? (MicroSoft)


3-1087307503
denis24
2004-06-15 17:51
2004.07.11
Внешнее обьединение с несколькими таблицами


3-1087287584
Паниковский
2004-06-15 12:19
2004.07.11
Insert


1-1087545504
Mitrofan
2004-06-18 11:58
2004.07.11
Как по существующему меню приложения построить дерево


6-1084537189
Leo_777
2004-05-14 16:19
2004.07.11
Люди добрые и умные, поделитесь знаниями...