The following code is copied straight from a tutorial and still gives errors!!
#include "stdafx.h"
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
WNDCLASS WndClass;
WndClass.style = 0;
WndClass.cbClsExtra = 0;
WndClass.cbWndExtra = 0;
WndClass.lpfnWndProc = WndProc;
WndClass.hInstance = hInstance;
WndClass.hbrBackground = (HBRUSH)(COLOR_WINDOW-5);
WndClass.hCursor = LoadCursor(NULL,IDC_ARROW);
WndClass.hIcon = LoadIcon(NULL,IDI_APPLICATION);
WndClass.lpszMenuName = 0;
WndClass.lpszClassName = "WinProg";
RegisterClass(&WndClass);
HWND hWindow;
hWindow = CreateWindow("WinProg","Donk2",WS_OVERLAPPEDWINDOW ,0,0,600,400,NULL,NULL,hInstance,NULL);
ShowWindow(hWindow,nCmdShow);
UpdateWindow(hWindow);
MSG Message;
while(GetMessage(&Message,NULL,0,0))
{
DispatchMessage(&Message);
}
return(Message.wParam);
}
LRESULT CALLBACK WndProc(HWND hWnd,UINT uiMessage,WPARAM wParam,LPARAM lParam)
{
switch(uiMessage)
{
case WM_PAINT:
HPEN hPen;
HPEN hPenalt;
HBRUSH hBrush;
HBRUSH hBrushalt;
hBrush = CreateSolidBrush(RGB(255,100,0));
hPen = CreatePen(PS_SOLID,2,RGB(0,255,255));
HDC hdc;
PAINTSTRUCT ps;
hdc = BeginPaint(hWnd,&ps);
hBrushalt = SelectObject(hdc,hBrush);
hPenalt = SelectObject(hdc,hPen);
MoveToEx(hdc,20,20,NULL);
LineTo(hdc,100,100);
Rectangle(hdc,120,20,240,140);
RoundRect(hdc,260,20,420,140,20,20);
RECT rect;
SetRect(&rect,20,260,240,420);
FrameRect(hdc,&rect,hBrush);
SetRect(&rect,260,260,420,420);
FillRect(hdc,&rect,hBrush);
Ellipse(hdc,440,260,480,420);
SelectObject(hdc,hBrushalt);
SelectObject(hdc,hPenalt);
DeleteObject(hPen);
DeleteObject(hBrush);
EndPaint(hWnd,&ps);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
default:
return DefWindowProc(hWnd,uiMessage,wParam,lParam);
}
}
Errors:
Compiling...
window2.cpp
C:\Program Files\Microsoft Visual Studio\MyProjects\window2\window2.cpp(54) : error C2440: '=' : cannot convert from 'void *' to 'struct HBRUSH__ *'
Conversion from 'void*' to pointer to non-'void' requires an explicit cast
C:\Program Files\Microsoft Visual Studio\MyProjects\window2\window2.cpp(55) : error C2440: '=' : cannot convert from 'void *' to 'struct HPEN__ *'
Conversion from 'void*' to pointer to non-'void' requires an explicit cast
Error executing cl.exe.