Вверх ↑
Ответов: 2377
Рейтинг: 685
#1: 2025-04-13 13:56:08 ЛС | профиль | цитата
А подскажи как унаследовать переменные чтоб функция их признала как родные:
function WndHDR(Sender: PControl; var Msg: TMsg; var Rslt: Integer): Boolean;
const
HDN_FIRST = -300; { Header }
HDN_ITEMCHANGINGA = HDN_FIRST - 0;
HDN_ITEMCHANGEDA = HDN_FIRST - 1;
HDN_DIVIDERDBLCLICKA = HDN_FIRST - 5;
HDN_BEGINTRACKA = HDN_FIRST - 6;
HDN_ENDTRACKA = HDN_FIRST - 7;
HDN_ITEMCHANGINGW = HDN_FIRST - 20;
HDN_ITEMCHANGEDW = HDN_FIRST - 21;
HDN_DIVIDERDBLCLICKW = HDN_FIRST - 25;
HDN_BEGINTRACKW = HDN_FIRST - 26;
HDN_ENDTRACKW = HDN_FIRST - 27;
type
tagNMHEADERA = packed record
Hdr: TNMHdr;
Item: Integer;
Button: Integer;
PItem: PHDItemA;
end;
HD_NOTIFY = tagNMHEADERA;
PHDNotify = ^HD_NOTIFY;
PNMHEADER = ^tagNMHEADERA;
var
fClass: ThiMTStrTbl;
ind: integer;
di, dw, dow: TData;
s: string;
FData: TData;
Color: TColor;

function getColor(index: integer; selectItem:boolean):TColor;
begin
if _prop_SelectColorMode = 2 and FColorItems then//set default color
begin
if selectItem then
Result := FSelectTextColor
else
Result := FSelectTextColorNoFocus;
if Assigned(PData(Sender.LVItemData[index])) and (Sender.Count <> 0) then
if (Sender.LVItemData[index] > 65535) then
begin
CopyData(@FData, PData(Sender.LVItemData[index]));
Color := ToInteger(FData);
ind := ($0F000000 and Color) shr 24;
FreeData(@FData);
Result := AColor[ind];//sets the text color
end;
end;
end;


begin
карма: 11

0
Редактировалось 3 раз(а), последний 2025-04-13 14:18:08