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

Вниз

TCustomListBox vs Columns   Найти похожие ветки 

 
Phn   (2003-12-11 16:39) [0]

Здравствуйте, Мастера. Я делаю компонент-потомок от TCustomListBox. Там есть такое св-во Columns. Дык вот когда устанавливаешь это свойство > 0, выделенный итем из одной колонки накладываются на соседний в другой. Как сделать, чтобы Brush отрисовывался только на длину строки, как в TreeView, или хотя бы, чтобы строка не перекрывала другие. Вот код отрисовки строк:


Function IsDirectory(Str:String):Boolean;
Begin
Result:=False;
if (Str[1] = "[") and (AnsiLastChar(Str)^ = "]") then
Result:=True;
End;

procedure TAnyListBox.DrawItem(Index: Integer; Rect: TRect; State: TOwnerDrawState);
var
Offset: Integer;
begin
with Canvas do
begin
Offset:=2;

If IsDirectory(Items[Index]) Then
Font.Assign(FDirectoriesFont)
Else
Font.Assign(FFileFont);

if odSelected in State Then
Begin
Brush.Color:=FSelectedItemColor;
Font.Color:=FSelectedItemFontColor;
End;

FillRect(Rect);
TextOut(Rect.Left + offset, Rect.Top, Items[Index]);
end;
end;


Заранее всем спасибо.


 
Sandman25 ©   (2003-12-11 16:42) [1]

Видимо, надо использовать не TextOut, а TextRect


 
Phn   (2003-12-11 16:47) [2]

Большущее тебе спасибо, Sandman!



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

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

Наверх




Память: 0.47 MB
Время: 0.017 c
7-75422
WinLamka
2003-10-16 17:41
2003.12.23
XP чтоб его =( хелп плиз!


3-75096
visnuk
2003-12-01 15:53
2003.12.23
Вопрос по исключительным ситуациям


3-75129
Vick
2003-12-01 13:19
2003.12.23
Преобразование vrabinary в varchar


1-75247
Nucl
2003-12-09 15:00
2003.12.23
Чистилка кода


1-75178
Silver_
2003-12-10 14:56
2003.12.23
Screen.Forms - может кто поправит, если не прав?