728x90

다음 카페에 자주 안들어가다보니 자료 이관합니다.


GetSystemMetrics(SM_CXSCREEN);
GetSystemMetrics(SM_CYSCREEN);

보너스로 작업표시줄 제외한 크기를 구할려면 아래와 같이...

CRect rcDesktop;
 ::SystemParametersInfo(SPI_GETWORKAREA,0,&rcDesktop,0);

화면 사이즈를 변경 할려면 다음과 같이...

    DEVMODE mode ;
    mode.dmBitsPerPel = 32;           // 32비트 칼라로 변경
    mode.dmPelsWidth  = 1024;       
    mode.dmPelsHeight = 768;
    mode.dmFields = DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT;
    ChangeDisplaySettings(&mode, CDS_FULLSCREEN  );

728x90

'OLD카페자료갱신 > VC++&OOP' 카테고리의 다른 글

API (2004.10.06)  (0) 2025.04.28
oop (2004.10.01)  (0) 2025.04.28
C++ (2004.09.30)  (0) 2025.04.28
728x90

다음 카페에 자주 안들어가다보니 자료 이관합니다.

#include <windows.h>
LRESULT CALLBACK WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
char szName[255]="API";
COLORREF wbgCol=RGB(180,250,180);
HINSTANCE g_hInst;
//옵션 변수
int x,y,x1,y1;
RECT rect[4];

char change[30];
// 옵션 변수 끝
int WINAPI WinMain(HINSTANCE hInstance,  //윈도우 고유 id
       HINSTANCE hPrevInstance, //전에 뜬 창값---안쓴다..
       LPSTR lpCmdLine,   //포인터 문자를 가져온다. lpCmdLine=명령줄인수
       int mShowCmd)   // 창보이는방법 sw_show,minmize,maxmize,sw_hide
{

 g_hInst=hInstance;
 MSG msg;           //베시지 객체 생성
 WNDCLASS wnd;          //윈도우 클래스 객체의 생성
 wnd.cbClsExtra=0;
 wnd.cbWndExtra=0;
 wnd.hbrBackground=CreateSolidBrush(wbgCol); //창 바탕화면
 wnd.hCursor=LoadCursor(NULL,IDC_ARROW);    //마우스 커서
 wnd.hIcon=LoadIcon(NULL,IDI_APPLICATION);   //제목줄 프로그램 대표 그림..
 wnd.lpszClassName=szName;       //윈도우이름
 wnd.lpszMenuName=NULL;        //메유없음
 wnd.lpfnWndProc=WndProc;       //선언한..콜백함수명
 wnd.hInstance=hInstance;       //선언한..윈도우 고유 ID
 wnd.style=CS_HREDRAW|CS_VREDRAW;     //윈도우 가로세로 크기변경시 새로고침

 RegisterClass(&wnd);        //레지스트에 등록
 HWND hwnd=CreateWindow(szName,  // 윈도우 이름
  szName,       // 윈도우 제목
  WS_POPUP ,     // 창크기 메뉴
  100,50,900,650,     //시작지점과 크기
  NULL,
  NULL,       //
  hInstance,
  NULL);

 ShowWindow(hwnd, SW_SHOW);
 while(GetMessage(&msg,0,0,0)){  //메세지 감시
  
  if(GetAsyncKeyState(VK_ESCAPE)) break;  //ESC눌리면 창닫기
  // GetAsyncKeyState 키 눌린상태 확인 함수


  TranslateMessage(&msg); // 키보드 사용을 허용한다.
  DispatchMessage(&msg); // 윈도우에 제어 요소를 반환


 }
 return 0;
}
LRESULT CALLBACK WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
 HDC hdc;     //그래픽 툴 구조체
 PAINTSTRUCT ps;    // 글씨 출력 도움 구조체
 //옵션
 int i=0;

 //옵션끝
 switch(uMsg)
 {
 case WM_DESTROY:  //창 닫기
  PostQuitMessage(0);
  break;
 case WM_SIZE:
  for(i=0;i<4;i++)
  {
   SetRect(&rect[i],50+100*i+10*i,50,150+100*i+10*i,100); // rect 설정
  }
  break;  
 case WM_PAINT:
  hdc=BeginPaint(hwnd,&ps);
  for(i=0;i<4;i++)
  {
   Rectangle(hdc,rect[i].left,rect[i].top,rect[i].right,rect[i].bottom);//렉 그리기
//   DrawText(hdc,&rText[i],6,&rect[i],DT_CENTER|DT_VCENTER|DT_SINGLELINE);

  }
  DrawText(hdc,"계산기",6,&rect[0],DT_CENTER|DT_VCENTER|DT_SINGLELINE);
  DrawText(hdc,"메모장",6,&rect[1],DT_CENTER|DT_VCENTER|DT_SINGLELINE);
  DrawText(hdc,"그림판",6,&rect[2],DT_CENTER|DT_VCENTER|DT_SINGLELINE);
  DrawText(hdc,"카드놀이",8,&rect[3],DT_CENTER|DT_VCENTER|DT_SINGLELINE);
  EndPaint(hwnd,&ps);
  break;
 case WM_LBUTTONDOWN:
  {
   POINT point;
   point.x=LOWORD(lParam);
   point.y=HIWORD(lParam);
   for(i=0;i<4;i++)
   {
    if(PtInRect(&rect[i],point))
    {
     if(i==0)WinExec("c:\\winnt\\system32\\calc.exe",SW_SHOW);
     if(i==1)WinExec("c:\\winnt\\system32\\notepad.exe",SW_SHOW);
     if(i==2)WinExec("c:\\winnt\\system32\\mspaint.exe",SW_SHOW);
     if(i==3)WinExec("c:\\winnt\\system32\\sol.exe",SW_SHOW);
    }
   }

  }
  break;
 }
 return DefWindowProc(hwnd,uMsg,wParam,lParam);

 //return 0;
}
728x90

'OLD카페자료갱신 > VC++&OOP' 카테고리의 다른 글

화면정보 가져오기 MFC (2005.03.31)  (0) 2025.04.28
oop (2004.10.01)  (0) 2025.04.28
C++ (2004.09.30)  (0) 2025.04.28
728x90

다음 카페에 자주 안들어가다보니 자료 이관합니다.

728x90

'OLD카페자료갱신 > VC++&OOP' 카테고리의 다른 글

화면정보 가져오기 MFC (2005.03.31)  (0) 2025.04.28
API (2004.10.06)  (0) 2025.04.28
C++ (2004.09.30)  (0) 2025.04.28
728x90

다음 카페에 자주 안들어가다보니 자료 이관합니다.

/*
 struct ---> class
 oop

 1. 4대 특성
  1)은닉화
  // 속성 (private)--> 변수
  // 행위 (public)---> 함수
  // 객체_통신_객체

  2)다형성
  // 여러가지 형태
  --> 중복 함수 정의 (오보로딩)
   1. 함수명이 같다
   2. 함수의 인자가 다르다
    a(int a)
    a(float b)
   3. 함수의 인자 갯수가 다르다
    a(int a)
    a(int a, int b)
   4. 같은 클래스 안에서 이루어진다.

   5. 리턴형은 관계 없다

  --> 재정의 (오버라이딩)-->상속




  3)상속
  4)추상화

      class 의 개념
  class Saram
  {
  //접근 지정어
  1) 접근지정어  -접근 금지 : private:
         public:
         protected:   -->상속과정(바로 밑에 있는 상속받은~)
  멤버 함수(행위)  //public
  멤버 변수(속성)  //private
  -->int age;
  -->int sex;
  //숨긴다.
  -->char *혈액;
  -->char *name;
  // tnarlsek.
  -->char *jumin;

  >> 친구
 friend
 +가상함수...
728x90

'OLD카페자료갱신 > VC++&OOP' 카테고리의 다른 글

화면정보 가져오기 MFC (2005.03.31)  (0) 2025.04.28
API (2004.10.06)  (0) 2025.04.28
oop (2004.10.01)  (0) 2025.04.28

+ Recent posts