C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[39169] 델파이의 간단함 함수좀 빌더로 바꿔 주세요~
늙은호박 [] 1024 읽음    2005-02-18 16:01
전체를 다빠꿀 필요는 없구요. 제가 모르는부분(여기 표시)만 바꿔주셔도^^;

FUNCTION DefineShadesOfGrayPalette: hPalette;                     <----여기  
  CONST
    PaletteVersion = $0300; // "Magic Number" for Window's LOGPALETTE
  VAR
    i : INTEGER;
    LogicalPalette : TMaxLogPalette;                      <---여기
    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};

+ -

관련 글 리스트
39169 델파이의 간단함 함수좀 빌더로 바꿔 주세요~ 늙은호박 1024 2005/02/18
39210     Re:델파이의 간단함 함수좀 빌더로 바꿔 주세요~ 김정식 787 2005/02/21
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.