I'm learning so pretty sure this is a basic/easy fix...
I copied this right out of a (relatively dated) Addison Wesley book. I have seen similar problems like this when googling but none that led me to figure out this specific problem.
#include <windows.h>
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);
int WINAPI
WinMain (HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nShowCmd)
{
WNDCLASS WndClass;
WndClass.style = 0;
WndClass.cbClsExtra = 0;
WndClass.cbWndExtra = 0;
WndClass.lpfnWndProc = WndProc;
WndClass.hInstance = 0;
WndClass.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);//(HBRUSH) (COLOR_WINDOW+1);
WndClass.hCursor = LoadCursor (NULL, IDC_ARROW);
WndClass.lpszMenuName = 0;
WndClass.lpszClassName = "WinProg";
RegisterClass(&WndClass);
HWND hWindow;
hWindow = CreateWindow("WinProg", "Window",
WS_OVERLAPPEDWINDOW,
0,0, 600,460, NULL,NULL,
hInstance,NULL);
ShowWindow (hWindow, SW_SHOW);
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); //errors here
hPenalt = SelectObject (hdc, hPen); //and here
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);
}
}