суббота, 9 февраля 2013 г.

цвет заднего фона паскаль

Начал знакомится с новой системой ещё с (сентябрь 2011).Финальный релиз, поставил как только (прямые ссылки на английскую версию , , для остальных языков (Русского нет) см здесь ) (август 2012), по заверения его можно активировать вплоть до 31 августа 2013 года.Самое свежее впечатление, что-то со стеком OpenGL начудили (или я в своем коде, но они тоже тогда хороши, что дали мне это зделать)Код: #include <tchar.h>#include <windows.h>#include <GL/gl.h>#include <GL/glu.h>#pragma comment(lib, "OpenGL32.lib")#pragma comment(lib, "Glu32.lib")HWND g_hWnd = HWND_DESKTOP;HDC g_hDC = NULL;HGLRC g_hRC = NULL;bool InitWindow(HINSTANCE hInstance, int nShowCmd);LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);bool init();void release();void Render();int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPTSTR lpCmdLine, int nShowCmd){   if(!(InitWindow(hInstance, nShowCmd)))      return -1;   MSG msg;   ZeroMemory(&msg, sizeof(MSG));   do   {      if(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))      {         TranslateMessage(&msg);         DispatchMessage(&msg);      }      else         Render();   }   while(WM_QUIT != msg.message);   return 0;}bool InitWindow(HINSTANCE hInstance, int nShowCmd){   WNDCLASSEX wces;   ZeroMemory(&wces, sizeof(WNDCLASSEX));   wces.cbSize = sizeof(WNDCLASSEX);   wces.style = CS_HREDRAW | CS_VREDRAW;   wces.lpfnWndProc = WndProc;   wces.hInstance = hInstance;   wces.hCursor = LoadCursor(NULL, IDC_ARROW);   wces.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);   wces.lpszClassName = TEXT("WindowClass");   if(!RegisterClassEx(&wces))      return false;   RECT rc = {0, 0, 640, 480};   AdjustWindowRectEx(&rc, WS_OVERLAPPEDWINDOW, FALSE, NULL);   HWND g_hWnd = CreateWindowEx(NULL, wces.lpszClassName, TEXT("Sample Window"), WS_OVERLAPPEDWINDOW,            CW_USEDEFAULT, CW_USEDEFAULT, rc.right - rc.left, rc.bottom - rc.top,            NULL, NULL, hInstance, NULL);   if(!g_hWnd)      return false;   if(!init())   {      release();      return false;   }   ShowWindow(g_hWnd, nShowCmd);   //UpdateWindow(g_hWnd);   return true;}LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){   switch(message)   {      case WM_SIZE:         gluOrtho2D(0.0, LOBYTE(lParam), 0.0, HIBYTE(lParam));         break;      case WM_DESTROY:         PostQuitMessage(0);         release();         break;      default:         return DefWindowProc(hWnd, message, wParam, lParam);   }   return 0;}bool init(){   g_hDC = GetDC(g_hWnd);   if (!g_hDC)      return false;   int pixelformat = 0;   PIXELFORMATDESCRIPTOR pfd;   ZeroMemory(&pfd, sizeof(PIXELFORMATDESCRIPTOR));   pfd.nSize = sizeof(PIXELFORMATDESCRIPTOR);   pfd.nVersion = 1;   pfd.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER;   pfd.dwLayerMask = PFD_MAIN_PLANE;   pfd.iPixelType = PFD_TYPE_COLORINDEX;   pfd.cColorBits = 8;   pfd.cDepthBits = 16;   if(!(pixelformat = ChoosePixelFormat(g_hDC, &pfd)))      return false;   if(FALSE == SetPixelFormat(g_hDC, pixelformat, &pfd))      return false;   g_hRC = wglCreateContext(g_hDC);   wglMakeCurrent(g_hDC, g_hRC);   glMatrixMode(GL_PROJECTION);   return true;}void release(){   if(g_hRC)      wglDeleteContext(g_hRC);    g_hRC = 0;   if(g_hDC)      ReleaseDC(g_hWnd, g_hDC);    g_hDC = 0;}void Render(){   glClear(GL_COLOR_BUFFER_BIT);   glColor3f(1.0, 0.0, 0.0);   glBegin(GL_LINES);      glVertex2i(0, 0);      glVertex2i(640, 480);   glEnd();   glFlush();   SwapBuffers(g_hDC);} В общем здесь стартует полноэкранное (а я просил оконное ) приложение, и закрывает его только Reset, но вы должны быть (Vista, Seven и теперь 8 ) многие графические функции переписаны, а по этому не до конца "закалённые".По Metro строеннию (кстати, MS была бы очень рада, если б сообщество называла его Win8 UI, из-за одного европейского партнёра с таким же названием... где только он был когда продвигали Win Phone 7.X, возможно оценив популярности решил, да пускай называют там UI как Metro, а здесь всё же Desktop система и популярность будет не меньше чем Windows 7 (по ожиданиям MS и партнёров)). В общем по Win Store App (Win8 UI App) до версии Release многие вещи всё ещё оставались не работоспособными,

» 28.10.2012 (Вс) 21:26

Сообщения: 221Зарегистрирован: 01.06.2009 (Пн) 10:26

Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю

Собсно сабж. Никто его не пропиарил, что я даже забыл о нём Кто уже ставил? Есть уже первые извержения в сторону Metro?

» 28.10.2012 (Вс) 16:47

Сообщения: 1411Зарегистрирован: 25.05.2007 (Пт) 10:24Откуда: Mugen no Sora

• Страница 1 из 1

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...

Весь вкус программирования!

Конференция VBStreets

Конференция VBStreets • Просмотр темы — 26 октября состоялся релиз Windows 8

Комментариев нет:

Отправить комментарий