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

C++빌더 팁&트릭
C++Builder Programming Tip&Tricks
[84] [팁] 화면 해상도(비디오모드) 변경
김영욱 [] 8980 읽음    2001-04-04 10:26
안녕하세요.. 김영욱입니다.
코딩을 하다보면 특정한 화면 해상도(비디오모드)에서 작성, 유저들에게 배포해야 하는 경우가 있습니다.
유저마다 고유의 해상도를 사용하기 때문에 일일이 대응하기가 힘들죠..
저도 그것 때문에 고생좀 했는데요.... (예전엔 각 표준모드마다 디자인의 위치를 맞춰야하는 노가다...)

코딩시의 해상도를 유저의 화면에서도 같은 해상도로 변경하고 프로그램이 종료시에 원래의 유저의
해상도로 맞추어주면 간단히 해결됩니다. 저도 이 방법을 사용하고 있습니다.
(출처:C++ 빌더 4 바이블 : 정우철)

//모드변경시...
void __fastcall TForm1::FormCreate(TObject *Sender)
{
DEVMODE Mode;
ZeroMemory(&Mode, sizeof(Mode));
Mode.dmSize = sizeof(Mode);
Mode.dmPelsWidth = 1024;   <-- 변경해줄부분(Screen Width)
Mode.dmPelsHeight = 768;   <-- 변경해줄부분(Screen Height)
Mode.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT ;

int result = ChangeDisplaySettings(&Mode,0);

if(result == DISP_CHANGE_RESTART)
  MessageDlg("You Have To Restart Windows",
              mtError,TMsgDlgButtons()<<mbOK,0);
  else if(result == DISP_CHANGE_SUCCESSFUL)
   MessageDlg("Welcome To the new video mode",
              mtInformation,TMsgDlgButtons()<<mbOK,0);
   else
    MessageDlg("Sorry, cannot change display mode",
               mtInformation,TMsgDlgButtons()<<mbOK,0);
}

//원상태 복귀

void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
ChangeDisplaySettings(0,0);
}
보리 [rhythmax]   2008-02-25 09:36 X
좋은 정보, 고맙습니다.

+ -

관련 글 리스트
84 [팁] 화면 해상도(비디오모드) 변경 김영욱 8980 2001/04/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.