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
[549] [답변] MERBOK/ 16비트 컬러인지 알아내는 법/프포
zpdspf1 [ ] 5725 읽음    1998-08-21 23:05
  안녕하세요. 천리안 프로그래머 포럼 델파이 담당자 댁스터(강범석)입니다.

  API함수 중에 EnumDisplaySettings()라는 함수가 있습니다. 이것은 디스플레이

  장치의 그래픽 모드들의 정보를 얻어오는 함수입니다.

  도움말에서 함수의 원형을 보면 다음과 같습니다.

  BOOL EnumDisplaySettings(

    LPCTSTR lpszDeviceName,  // specifies the display device
    DWORD iModeNum,          // specifies the graphics mode
    LPDEVMODE lpDevMode      // points to structure to receive settings
   );

  각 인자의 자세한 설명은 도움말을 보시고요.

  다음 예제를 보세요.

  procedure TForm1.Button1Click(Sender: TObject);
  var
      DMode: TDevMode;
      ModeNumber: Integer;
  begin
      ModeNumber := 0;
      while EnumDisplaySettings(nil, ModeNumber, DMode) do
      begin
         if (Screen.Width = DMode.dmPelsWidth) then
            ShowMessage(IntToStr(DMode.dmBitsPerPel)+' 비트컬러 사용 가능');
         Inc(ModeNumber);
      end;
  end;

  이 예제는 EnumDisplaySettings()를 이용해서 현재 시스템에서 사용할 수 있는

  모든 해상도의 모든 컬러를 얻어옵니다. (While문에서...)

  그리고 현재 해상도에서 가능한 컬러수를 ShowMessage()로 출력합니다.

  실행해 보시면 이해가 가실겁니다. 응용하시면 될 것 같군요.

  참고가 되셨길....

                                                                  From Thexder


+ -

관련 글 리스트
546 [질문] 16비트 컬러인지 알아내는 법/프포 merbok 5522 1998/08/21
549     [답변] MERBOK/ 16비트 컬러인지 알아내는 법/프포 zpdspf1 5725 1998/08/21
548     [답변] MERBOK/ 16비트 컬러인지 알아내는 법/프포 박지훈.임프 5476 1998/08/21
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.