关于以下一个结构:
tagLOGPALETTE = packed record
palVersion: Word;
palNumEntries: Word;
palPalEntry: array[0..0] of TPaletteEntry;
end;
其中的palPalEntry数组长度怎么改变?
我用setLength(tatPal.palPalEntry,256) 不行,说类型不匹配
tagLOGPALETTE = packed record
palVersion: Word;
palNumEntries: Word;
palPalEntry: array[0..0] of TPaletteEntry;
end;
其中的palPalEntry数组长度怎么改变?
我用setLength(tatPal.palPalEntry,256) 不行,说类型不匹配
createPalette(tagLogPalette)创建一个调色板。如果重新定义一个
结构的话系统认为不是tagLogPalette类型,创建过程就无法执行
function CreatePalette(const LogPalette: TLogPalette): HPalette; stdcall;
然后又定义了这个:
function CreatePalette; external gdi32 name 'CreatePalette';TLogPalette是这样的:
tagLOGPALETTE = packed record
palVersion: Word;
palNumEntries: Word;
palPalEntry: array[0..0] of TPaletteEntry;
end;
TLogPalette = tagLOGPALETTE;
{$EXTERNALSYM LOGPALETTE}
PMaxLogPalette = ^TMaxLogPalette; // not in Windows Headers
TMaxLogPalette = packed record
palVersion: Word;
palNumEntries: Word;
palPalEntry: array [Byte] of TPaletteEntry;
end;
我在调用CreatePalette准备写参数的时候,
系统提示参数是const LogPalette: tagLogPalette,与上面定义的根本不一样是怎么回事?
按照系统定义的tagLOGPALETTE,根本无法改变palPalEntry的长度,
那我到底该怎么样创建调色板?