Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

CheckBoxes в KOLEcmListEdit [Delphi, Windows]


Боб ©   (2005-10-19 10:18:00) 

To ECM.
Что-то не пойму : в пропертях ставлю
lvoCheckBoxes=true, а они не появляются.
Или нужно еще чего-то?.
Как подменить строку на CheckBox во время редактирования-
понятно из демо.
Ниже строки из моего теста (Unit1_1.inc)
   Result.LE := NewEcmListEdit( Result.Form, lvsDetail,
   [ lvoHideSel, lvoMultiselect, lvoGridLines, lvoCheckBoxes,
  lvoRowSelect, lvoOneClickActivate, lvoOwnerDrawFixed ],
  nil, nil, nil ).SetPosition( 8, 16 ).SetSize( 345, 217 );
  {$IFDEF USE_NAMES}
   Result.LE.Name := 'LE';
  {$ENDIF}
   Result.LE.LVColAdd( 'Phone', taRight, 130);
   Result.LE.LVColAdd( 'Description', taLeft, 160);
   Result.LE.LVColAdd( 'Err', taLeft, 30);
А здесь кусочек из KOLForm1FormCreate
  for x := 0 to 3 do begin
     LE.LVItemAdd('S0');
//      LE.LVAdd('S0' + Int2Str(x), 0, [], 0, 0, 0); так тоже пробовал.
                     end;

  for x := 0 to 2 do
     for y := 0 to 3 do
        LE.LVItems[y, x] := 'S' + int2str(y) + int2str(x);
   
  LE.LVCurItem := 0;


Боб   (2005-10-19 15:05:00) [1]

Попробовал закоментировать - вообще ничего не рисует.
Насчет KOLListEdit - хорошая штука.
НО : на простом тесте все ОК, а когда вставил в большой проект -
Часто вылетает с сообщением Exception без расшифровки.
Вылетает в procedure TListEdit.LVPaint;
в строке  
with LView^ do begin
  SendMessage(Handle, WM_SETFONT, Font.Handle, 0);
...
Может запуститься 10 раз нормально , а потом через 2-3 раза вылет.
Если SendMessage закоментировать - все ОК, но фонты не поменяешь...
Я, собственно из-за этого и пробовал Вашу компоненту.
Ну ладно. Спасибо за соучастие.
Боб.


ECM   (2005-10-19 12:04:00) [2]


> lvoCheckBoxes=true, а они не появляются

Нет это не поддерживается...
В нем используется собственная отрисовка DrawItem, которая затирает
стандартную прорисовку чекбоксов...На этом там многое построено.
Что могу посоветовать (одно из трех):
1) Попробуйте KOLListEdit - http://bonanzas.rinet.ru/KOLListEdit.zip
2) Попробуйте написать свою прорисовку первой ячейки в DrawItem
3) Попробуйте закоментировать строку в
function NewEcmListEdit;
...
 Result.OnDrawItem := pLD.LVDrawItem;


Наверх

Титульная страница Поиск, карта сайта Написать письмо