Форум: "Основная";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];
ВнизУтечка 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.035 c