Вверх ↑
Разработчик
Ответов: 26061
Рейтинг: 2120
#1: 2014-03-27 02:16:55 ЛС | профиль | цитата
Galkov писал(а):
Собственно я даже не знаю о каком kol идет речь.

О стандартном KOL под FPC. Самое интересное, что сборка FPC 2.6.2 и KOL 3.21 от Netspirit-а работает корректно. И причем тут тогда компонент MTStrTbl? Попробую еще на исправленном KOL под FPC, может это чего-то даст. А ловушку я вот здесь ставил

function WndProc_LVStateChange( Sender: PControl; var Msg: TMsg; var R: Integer ): Boolean;
var NMOD: PNMLVODStateChange;
NMLV: PNMLISTVIEW;
begin
if Msg.message = WM_NOTIFY then
begin
NMOD := Pointer( Msg.lParam );
NMLV := Pointer( Msg.lParam );
if NMOD.hdr.code = LVN_ODSTATECHANGED then
begin
if Assigned( Sender.OnLVStateChange ) then
Sender.OnLVStateChange( Sender, NMOD.iFrom, NMOD.iTo,
NMOD.uOldState, NMOD.uNewState );
end
else
if NMLV.hdr.code = LVN_ITEMCHANGED then
begin
MsgBox('!!!',1); // ловушка
if Assigned( Sender.OnLVStateChange ) then
Sender.OnLVStateChange( Sender, NMLV.iItem, NMLV.iItem,
NMLV.uOldState, NMLV.uNewState );
end;
end;
Result := FALSE;
end;

------------ Дoбавленo в 02.16:
Сейчас проверил обычную таблицу, включив в ней чеки (и нафига тут писать еще какой-то код)

procedure THIStringTable.Init;
var l:TListViewOptions;
begin
l := [lvoInfoTip, lvoUnderlineHot ];
if _prop_Flat then
include(l,lvoFlatsb);
if _prop_HeaderDragDrop then
include(l,lvoHeaderDragDrop);
include(l, lvoCheckBoxes); // включение чеков


Баг с двойным кликом под FPC остался.

P.S. Правленный KOL под FPC имеет этот же баг.
карма: 22

0