Форум: "Потрепаться";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];




Вниз

Как сделать недоступными некоторые items в TListBox? Или есть другой компонент с такой фичей? 


Nest   (2002-03-21 14:42) [0]

Чтобы некоторые строчки в листбоксе были disabled, т.е. серенькими и недоступными к выбору. Видел это в готовых прогах, но не знаю как реализовать. Напрашивается мысль использовать сторонний компонент, или ещё лучше свой написать, но не знаю как.
Помогите пож.



Nest   (2002-03-21 15:15) [1]

?



MBo   (2002-03-21 15:45) [2]

заноси признак в Items.Objects



Nest   (2002-03-21 15:55) [3]

MBo ©
Где почитать, как зонести признак в Items.Objects?
(более подробное объяснение (или даже пример) очень хочется, но стыдно просить)



MBo   (2002-03-21 16:02) [4]

style OwnerDraw поставь

procedure TForm1.Button1Click(Sender: TObject);
var i:Integer;
begin
for i:=0 to 9 do
LB1.Items.AddObject("String"+IntToStr(i),pointer(odd(i)));
// если уже заполнен, делай
// LB1.Items.Objects[i]:=pointer(enabled);
// где enabled- boolean или Integer
end;

procedure TForm1.LB1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
with LB1.Canvas do begin
FillRect(Rect);
if Boolean(LB1.Items.Objects[Index]) then
Font.Color:=clLtGray
else Font.Color:=clBlack;
TextOut(Rect.Left,Rect.Top,LB1.Items[Index]);
Font.Color:=clBlack;
end;

end;

procedure TForm1.LB1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
APoint: TPoint;
Index: Integer;
begin
if Button = mbLeft then begin
APoint.X := X;
APoint.Y := Y;
Index := LB1.ItemAtPos(APoint, True);
if (Index>=0) and (not Boolean(LB1.Items.Objects[Index])) then
label1.caption:=LB1.Items[Index];
end;
end;



Nest   (2002-03-21 16:28) [5]

2MBo ©
Спасибо огромное буду разбираться.




Форум: "Потрепаться";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.02 c
3-94302           pls                   2002-04-08 11:22  2002.04.29  
DLL или BPL?


1-94359           NS                    2002-04-17 11:57  2002.04.29  
Нужно в RUN-Time создавать экземпляры некоторых объектов (для при


1-94499           ymin                  2002-04-15 14:41  2002.04.29  
фон для формы какой-нибудь рисунок


4-94634           Керик                 2002-01-04 05:54  2002.04.29  
Как словить курсор?


3-94269           Reporter*             2002-04-07 21:59  2002.04.29  
Вопросы, связанные с Fast Report