Вивід вікна, керованого методами DirectDraw бібліотеки Direct v.7, страница 6

         //Уничтожение в RAM экзепляра класса DirectDraw (в heap-е)

           pDirectDraw7->Release();

           pDirectDraw7=NULL;

           PostQuitMessage(0);//посылка сообщения WM_QUIT == окончание работы

   break;

   default: return(DefWindowProc(hWnd,uMsgName,wParam,lParam));

  }

  return 0;

} //конец оконной функции WndProc()

/***************************************************************************/

//ОСНОВНАЯ ФУНКЦИЯ проекта == точка входа в Windows-проект

int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,

                         LPSTR lpszCmdLine,int iCmdShow)

{ static char szWndClass[]="WndClass for PPKK_Min.cpp";//имя класса окна

  static char szWndTitle[]="Простейший проект DirectDraw (Мое DirectX7)";

/***************************************************************************/

  WNDCLASSEX wndclass;//экземпляр структуры для параметров класса окна(12 полей)

     wndclass.lpszClassName = szWndClass; //имя класса окна (текст, см. выше)

     wndclass.lpfnWndProc = WndProc;      //имя оконной функции

     wndclass.style=CS_SAVEBITS|CS_VREDRAW|CS_HREDRAW|CS_DBLCLKS;//стиль окна

     wndclass.hInstance = hInstance;      // адрес запущенного экземпляра данного приложения     

     wndclass.hIcon = LoadIcon( NULL, IDI_APPLICATION );// иконка ...

     wndclass.hIconSm = LoadIcon( NULL, IDI_QUESTION ); // иконка ...

     wndclass.hCursor = LoadCursor( NULL, IDC_ARROW );  // форма курсора

   //wndclass.hbrBackground =(HBRUSH) GetStockObject(BLACK_BRUSH);//черный фон = NULL

     wndclass.hbrBackground =(HBRUSH)( COLOR_GRAYTEXT + 1 );//серый фон рабочей области окна 

   //wndclass.hbrBackground =(HBRUSH)( COLOR_WINDOW + 1 );//белый фон рабочей области окна

     wndclass.lpszMenuName = NULL;

     wndclass.cbClsExtra = 0;

     wndclass.cbWndExtra = 0;

     wndclass.cbSize=sizeof(wndclass);

  RegisterClassEx(&wndclass);//теперь 

/****************************************************************************/

  HWND hWnd=hWndG=  //адрес (handle) кода окна в RAM (создание окна в RAM (без вывода на экран)

     CreateWindowEx(0, //WS_EX_TOPMOST, //стиль окна (дополнительный)

                    szWndClass,         //имя класса окна (текст, см. выше)

                            szWndTitle,         //текст заголовка в окне (текст, см. выше)

                    WS_POPUP,           //стиль окна ==  без элементов обрамления окна

                                        //рабочая область окна == весь экран

                                                 //WS_OVERLAPPEDWINDOW,//стиль окна - классическое окна

                  //Задание размеров рабочей области окна (первичной поверхности)

                    0,0,                      //координаты X и Y левый верхн угол окна

                    GetSystemMetrics(SM_CXSCREEN),//ширина окна в pixel

                    GetSystemMetrics(SM_CYSCREEN),//высота окна в pixel

                //  CW_USEDEFAULT, CW_USEDEFAULT,CW_USEDEFAULT, CW_USEDEFAULT,

                    NULL,                 //дескриптор родительского окна

                    NULL,                 //дескриптор меню

                    hInstance,  //описатель (==адрес) данного экземпляра приложения

                    NULL);               //дополнительные данные

/****************************************************************************/

    ShowWindow(hWnd,iCmdShow); // изображение окна на экране 

    UpdateWindow(hWnd);        // посылка первого сообщения WM_PAINT

/****************************************************************************/

   MSG msg;   // экземпляр структуры для получаемых сообщений

   //"Бесконечный" цикл обработки сообщений - вызовов оконной функции

   while(GetMessage(&msg,NULL,0,0))

    {TranslateMessage(&msg);

     DispatchMessage(&msg);

    }//выход из цикла при получении сообщения именем WM_QUIT

  return msg.wParam;

} // конец WinMain

Результат виконання програми:

Висновок:

Вивели інформацію о параметрах відео адаптеру.