Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Редактирование ListView, в режиме vsReport (Delphi\lazarus) 
V
    Опции темы
CynicRus
Дата 14.7.2012, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 248
Регистрация: 31.5.2012

Репутация: 2
Всего: 5



Приветствую уважаемых форумчан, требуется отредактировать subitem в заполненом ListView в режиме vsReport. Для 
этого делаю(на форме заполненый lv: TListView, ppEdit: TEdit(visible:=false)):
по клику на listview:
Код

var
  pt: TPoint;
  rc: TRect;
begin
 GetCursorPos(pt);
 pt:=lv.ScreenToClient(pt);
 eitem:=lv.GetItemAt(10,pt.y);
  //eitem:=lv.Selected;
  if MouseClickOnSubItem(rc,eitem,pt.x,pt.y) then
   begin
    ppEdit.Left:=rc.Left;
    ppEdit.Top:=rc.Top;
    ppEdit.Width:=rc.Right - rc.Left;
    ppEdit.Height:=rc.Bottom - rc.Top + 4;
    ppEdit.Text:=eitem.SubItems.Strings[0];
      if not ppEdit.Visible then
        begin
         ppEdit.Visible:=true;
         ppEdit.SetFocus;
        end
      else
      ppEdit.Visible:=false;
   end;
end;

function TCompForm.MouseClickOnSubItem(rc: TRect; item: TListItem; x,
  y: integer): boolean;
begin
  if not assigned(item) then exit;
  rc:=Item.DisplayRect(drBounds);
  rc.Left:=lv.Columns.Items[0].Width+2;
  rc.Right:=rc.Left+lv.Columns.Items[0].Width-2;
  //(X>= rc.Left && X <= rc.Right) && (Y>=rc.Top && Y <= rc.Bottom);
  if (((x>=rc.Left) or (x<=rc.Right)) or ((y>=rc.Top) or (y <= rc.Bottom))) then
    result:=true else result:=false;
end;                 

MouseClickOnSubitem - возвращает true; код назначения свойств эдиту выполняется, но он не появляется. Хотя код 
Код

begin
         ppEdit.Visible:=true;
         ppEdit.SetFocus;
        end
 выполняется. Что я не так делаю?

PM MAIL   Вверх
CynicRus
Дата 14.7.2012, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 248
Регистрация: 31.5.2012

Репутация: 2
Всего: 5



Понял таки что я не так делал, не нашел сходу commcntrl.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0410 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.