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

Вниз

Как в TListView(vsReport) можно редактировать второй столбец?   Найти похожие ветки 

 
madm ©   (2003-06-19 15:50) [0]

Здравствуйте.
Столкнулся с такой проблемой:
есть ListView, в нем два столбца, ReadOnly = false,
При щелчке на первом столбце его можно редактировать, а второй даже не выделяется :( Понимаю что второй столбец это уже не TListItem, но может как то можно сделать чтобы он также редактировался?


 
Семен Сорокин ©   (2003-06-19 15:57) [1]

Отлавливай клик, и вставляй в рект SubItem"а TEdit - редактируй скока хошь, на OnExit - скрывай Edit и меняй текст SubItem.


 
madm ©   (2003-06-19 16:00) [2]

А нельзяли примерчик? На делфи или билдере...


 
madm ©   (2003-06-19 16:17) [3]

"вставляй в рект SubItem"а TEdit"
как?
подскажи, плз... никогда так не делал...


 
Семен Сорокин ©   (2003-06-19 16:24) [4]

procedure TForm1.ListView1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
_i : integer;
_rect: TRect;
_item: TListItem;
_left: integer;
begin
_item := ListView1.GetItemAt(5, Y);
_rect := _item.DisplayRect(drLabel);
if Assigned(_item) then
with ListView1 do begin
_left := Columns[0].Width;
for _i := 1 to Columns.Count - 1 do
if (X > _left) and (X <= _left + Columns[_i].Width) then begin
_rect.Left := _left;
_rect.Right:= _left + Columns[_i].Width;
Edit1.Tag := _item.Index*100 + _i-1;
Edit1.Text := _item.SubItems[_i-1];
Edit1.SetBounds(_rect.Left + Left, _rect.Top + Top, _rect.Right - _rect.Left, _rect.Bottom - _rect.Top);
Edit1.Visible := true;
Edit1.SetFocus;
Exit
end
else
inc(_left, ListView1.Columns[_i].Width)
end
end;

procedure TForm1.Edit1Exit(Sender: TObject);
begin
ListView1.Items[Edit1.Tag div 100].SubItems[Edit1.Tag mod 100] := Edit1.Text;
Edit1.Visible := false;
end;


 
madm ©   (2003-06-19 16:30) [5]

Просто ОГРОМНЕЙШЕЕ СПАСИБО!!! :)



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

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

Наверх




Память: 0.47 MB
Время: 0.022 c
11-97575
Sacred
2002-10-14 12:04
2003.06.30
ActiveX


1-97728
Alex Shulg
2003-06-18 14:08
2003.06.30
Значения констант?


1-97705
MakNik
2003-06-18 10:27
2003.06.30
SaveDialog


1-97626
qqqqq
2003-06-19 13:35
2003.06.30
Как не перезагружаясь удалить C: WINDOWS Cookies Index.dat?


1-97643
smolin
2003-06-19 11:28
2003.06.30
выход из цикла ???