|
늙은호박 님이 쓰신 글 :
: 전체를 다빠꿀 필요는 없구요. 제가 모르는부분(여기 표시)만 바꿔주셔도^^;
:
: FUNCTION DefineShadesOfGrayPalette: hPalette; <----여기
hPalette DefineShadesOfGrayPalette() --> 요렇게
{
: CONST
: PaletteVersion = $0300; // "Magic Number" for Window's LOGPALETTE
: VAR
: i : INTEGER;
: LogicalPalette : TMaxLogPalette; <---여기
TMaxLogPalette LogicalPallette; ---> 요렇게
: ScreenDeviceContext: hDC;
: BEGIN
: LogicalPalette.palVersion := PaletteVersion;
: LogicalPalette.palNumEntries := 256;
:
: ScreenDeviceContext := GetDC(hWnd_DeskTop);
: TRY
: // Get first and last 10 entries from SystemPalette
: GetSystemPaletteEntries(ScreenDeviceContext, 0, 10,
: LogicalPalette.palPalEntry[0]);
: GetSystemPaletteEntries(ScreenDeviceContext, 246, 10,
: LogicalPalette.palPalEntry[246])
: FINALLY
: ReleaseDC(0, ScreenDeviceContext)
: END;
:
: // Skip over first 10 and last 10 "fixed" SystemPalette entries
: FOR i := 0 TO 255-20 DO
: BEGIN
: // Stetch palette entries 0..235 to span gray scale range 0..255
: LogicalPalette.palPalEntry[10+i].peRed := MulDiv(i, 255, 235); <----여기
: LogicalPalette.palPalEntry[10+i].peGreen := MulDiv(i, 255, 235);
: LogicalPalette.palPalEntry[10+i].peBlue := MulDiv(i, 255, 235);
: LogicalPalette.palPalEntry[10+i].peFlags := PC_NOCOLLAPSE;
: END;
: RESULT := CreatePalette(pLogPalette(@LogicalPalette)^); <----여기
:
: END {DefineShadesOfGrayPalette};
|