#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);
}
FireFenix писал(а):Кто уже ставил?
Admiralisimys писал(а):Версии Release Prewiev, Release тестировались в виртуалке (Oracle VirtualBox)
Admiralisimys писал(а):Visual Studio. Тут MS сначала напугав прикрыв Win32 разработку в бесплатной версии, но позже всё же дал добро (кстати код выше, запускал именно в ней). Win Store App разрабатывать можно в бесплатной версии изначально. В отличии от Visual Studio for Windows Phone здесь каждый месяц с вас будут просить залогинится в центре разработчиков, дабы продлить лицензию на следующие 30 дней. Как бы мне хотелось что б здесь всё было как и в Visual Studio for Windows Phone
BV писал(а):Мне не хватает меню Пуск с поисковой строкой, мне не хватает десктопных гаджетов, мне не хватает округлостей и объемностей стеклянного интерфейса. А Метро штука, конечно, интересная, и даже удобная, но только для сенсорного интерфейса.
FireFenix писал(а):Я в подменю Все программы залезал наверное пол года назад ибо всё относительно часто используемое вывешено на рабочий стол, в "Панельке задач" и в самой Пуск иконки (Ножницы, Калькулятор, Charmap, Paint, Записки) и служебные (Выполнить, Панель инструментов, Завершение работы)
FireFenix писал(а):как такового оконного режима нету, т.е. есть либо свёрнуто, либо выглядывает кусок экрана
FireFenix писал(а):будет ли корректно работать софт с Win7?
BV писал(а):сейчас вот на виртуалке тихо-мирно поживает Release Preview за август сего года
такBV писал(а):зачем дублировать софт на Метро и десктоп? Например, изкоробки существует две версии IE10, "классическая" десктопная и Метро. Причем, вместе с ними работать не получится, для одной надо переключаться в Метро, для другой -- сидеть в режиме десктопа. Выглядит это,
изучать API под Метро как-то желанием особо и не горю
FireFenix писал(а):Сколько ни пробовал поставить RC на VirtualBox, ни одна так и не встала, хотя все требуемые опции были включены
FireFenix писал(а):Ты про App Store или саму среду? Если среда работает только online это ж просто убожество!
FireFenix писал(а):будет ли корректно работать софт с Win7?
BV писал(а):в будущем произойдет переход от классического оконного интерфейса и Win32 API к интерфейсу Метро и веб-технологиям.
Admiralisimys писал(а):Так ведь Windows 8 Release Preview (он же Build 8400) вышел 31 мая, а в 20х числах августа Майкрософт представил именно Release (он же Build 9200, ссылки на 90 дневную ознакомительную версию см. в моём предыдущем сообщении).
Admiralisimys писал(а):так
Admiralisimys писал(а):Это так называемый Snap Mode.
Admiralisimys писал(а):Вот во что превращается стартовый экран Windows 8 если по изучать немного
Admiralisimys писал(а):На трёх разный машинах ставил виртуалку, и везде без проблем заводилась Windows 8 x64.
BV писал(а):И что это такое? Два разных интерфейса -- зачем? Поделенный экран -- зачем?
BV писал(а):Admiralisimys писал(а):Вот во что превращается стартовый экран Windows 8 если по изучать немного
Не понял, что ты хотел продемонстрировать.
BV писал(а):В Метро нет классических окон, это полноэкранный интерфейс.
FireFenix писал(а):... Мой компьютер ...
Qwertiy писал(а):FireFenix писал(а):... Мой компьютер ...
А что, Win+E избавились?
Admiralisimys писал(а):FireFenix возможности по редактированию схемы цветов (меня конкретно интересовал только цвет заднего фона папки, в ХР и ранее регулируется в этом диалоге, в Висте и выше - только варварским способом) начали убирать, для моего интереса, начиная с Release Preview.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3