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