Вниз
Скачать: CL | DM;

редактирование ListView   Найти похожие ветки 

← →
ther   (2008-12-09 17:08) [0]

вроде поискал не нашел нужной темы...
проблема следующая...мне нужно что бы можно было кликать в ListView по всем ячейкам(и изменять их содержимое) а не только первую...можно ли этокак то сделать?


← →
Rouse_ ©   (2008-12-09 17:15) [1]

В смысле? В режима Report редактировать содержимое сабитемов? При переключении в режим редактирования получай хэндл инплейсэтитора посредством отправки сообщения LVM_GETEDITCONTROL и выставляй ему нужную позицию... Но только в этом случае придется перехватывать момент окончания редактирования и подставлять измененный текст в нужное место.


← →
ther   (2008-12-09 17:22) [2]

ага в режиме Report редактировать содержимое сабитемов...попробую поискать..спасибо за наводку..но если можно по подробней...вдруг не найду


← →
Rouse_ ©   (2008-12-09 17:47) [3]

Вот пример получения текста с активного инплейсэдитора в TreeView и ListView контролах, дальше развивай по аналогии:

function GetEditControlText(Control: TWinControl): String;
var
 GetHandleMessage: DWORD;
 EditControlHandle: THandle;
begin
 // uses CommCtrl;
 Result := "";
 GetHandleMessage := 0;
 if (Control is TTreeView) then
   GetHandleMessage := TVM_GETEDITCONTROL
 else
   if (Control is TListView) then
     GetHandleMessage := LVM_GETEDITCONTROL;
 if GetHandleMessage = 0 then Exit;
 EditControlHandle := SendMessage(Control.Handle, GetHandleMessage, 0, 0);
 if EditControlHandle <= HINSTANCE_ERROR then Exit;
 SetLength(Result, SendMessage(EditControlHandle, WM_GETTEXTLENGTH, 0, 0) + 1);
 SendMessage(EditControlHandle, WM_GETTEXT, Length(Result), DWORD(@Result[1]));
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
 if TreeView1.IsEditing then
   ShowMessage("Текст внутри редактора: " + GetEditControlText(TreeView1));
 if ListView1.IsEditing then
   ShowMessage("Текст внутри редактора: " + GetEditControlText(ListView1));
end;



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
15-1227987724
isasa
2008-11-29 22:42
2009.01.25
Свободные (шаровые) DNS сервера.


15-1228434511
Дмитрий С
2008-12-05 02:48
2009.01.25
Как получить все содержиме IStream


2-1228483629
Hadroran
2008-12-05 16:27
2009.01.25
Составление запроса


2-1229201323
Андрей (начинающий)
2008-12-13 23:48
2009.01.25
сортировка списка дат


2-1228500289
lusuj
2008-12-05 21:04
2009.01.25
синтаксический контроль заданного оператора




   Наверх