![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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;