Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.01.25;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.018 c
2-1228895475
9899100
2008-12-10 10:51
2009.01.25
PolyLine


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


15-1227424851
Астро
2008-11-23 10:20
2009.01.25
Поиск по массиву половинным делением и добавление элементов?


4-1203283452
Galiaf
2008-02-18 00:24
2009.01.25
Перехват сообщений самодельным окном.


15-1227389647
Real
2008-11-23 00:34
2009.01.25
Файловый сервер в локалке кому нужен?