You are on page 1of 14

Prog 1

#include <windows.h>

#include"resource.h"

LRESULT CALLBACK WindProcedure(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);

INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,

LPSTR lpCmdLine, int nCmdShow)

WNDCLASS WndCls;

static char szAppName[] = "dc3";

MSG Msg;

char cbuf[128];

HWND hwnd;

WndCls.style = CS_VREDRAW | CS_HREDRAW;

WndCls.lpfnWndProc = WindProcedure;

WndCls.cbClsExtra = 0;

WndCls.cbWndExtra = 0;

WndCls.hInstance = hInstance;

//WndCls.hIcon = LoadIcon(NULL, IDI_APPLICATION);

WndCls.hCursor = LoadCursor(NULL, IDC_ARROW);

WndCls.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);

WndCls.lpszMenuName = "Mymenu";

WndCls.lpszClassName = szAppName;
WndCls.hIcon = LoadIcon(hInstance, IDI_APPLICATION);

RegisterClass(&WndCls);

LoadString(hInstance,S_PROGRAMCAPTION,cbuf,sizeof(cbuf));

hwnd=CreateWindow(szAppName, "Device context3",

WS_OVERLAPPEDWINDOW | WS_VISIBLE,

0, 0, 500, 500,

NULL, NULL, hInstance, NULL);

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

TranslateMessage(&Msg);

DispatchMessage( &Msg);

return (Msg.wParam);

LRESULT CALLBACK WindProcedure(HWND hWnd, UINT Msg,

WPARAM wParam, LPARAM lParam)

PAINTSTRUCT ps;

HDC hdc;
char cbuf[128];

HINSTANCE hInstance;

POINT pt;

static int nx,ny;

switch(Msg)

case WM_COMMAND:

switch(wParam)

case IDM_QUIT:

DestroyWindow(hWnd);

break;

break;

case WM_SIZE:

nx=LOWORD(lParam);

ny=HIWORD(lParam);

break;

case WM_PAINT:
BeginPaint(hWnd, &ps);

SetMapMode(ps.hdc,MM_ANISOTROPIC);

SetViewportExtEx(ps.hdc,nx,ny,0);

SetWindowExtEx(ps.hdc,100,100,0);

Ellipse(ps.hdc,0,0,100,100);

Rectangle(ps.hdc,20,20,80,80);

EndPaint(hWnd, &ps);

break;

case WM_DESTROY:

PostQuitMessage(0);

break;

default:

return DefWindowProc(hWnd, Msg, wParam, lParam);

return 0;

Prog 2
#include <windows.h>

#include"resource.h"

LRESULT CALLBACK WindProcedure(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);

INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,

LPSTR lpCmdLine, int nCmdShow)

WNDCLASS WndCls;

static char szAppName[] = "Font";

MSG Msg;

HBRUSH hBrush;

char cbuf[128];

HWND hwnd;

hBrush=CreateSolidBrush(RGB(255,230,255));

// WndCls.cbSize = 0;

WndCls.style = CS_OWNDC | CS_VREDRAW | CS_HREDRAW;

WndCls.lpfnWndProc = WindProcedure;

WndCls.cbClsExtra = 0;

WndCls.cbWndExtra = 0;

WndCls.hInstance = hInstance;

//WndCls.hIcon = LoadIcon(NULL, IDI_APPLICATION);

WndCls.hCursor = LoadCursor(NULL, IDC_ARROW);

WndCls.hbrBackground = hBrush;
WndCls.lpszMenuName = "Mymenu";

WndCls.lpszClassName = szAppName;

WndCls.hIcon = LoadIcon(hInstance, IDI_APPLICATION);

RegisterClass(&WndCls);

LoadString(hInstance,S_PROGRAMCAPTION,cbuf,sizeof(cbuf));

hwnd=CreateWindow(szAppName, "Device context",

WS_OVERLAPPEDWINDOW | WS_VISIBLE,

CW_USEDEFAULT, CW_USEDEFAULT, 450, 220,

NULL, NULL, hInstance, NULL);

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

TranslateMessage(&Msg);

DispatchMessage( &Msg);

DeleteObject(hBrush);

return (Msg.wParam);

LRESULT CALLBACK WindProcedure(HWND hWnd, UINT Msg,

WPARAM wParam, LPARAM lParam)

HDC hdc;
PAINTSTRUCT Ps;

char cbuf[128];

HINSTANCE hInstance;

static HPEN hPen;

static HBRUSH hBrush;

switch(Msg)

case WM_CREATE:

hdc=GetDC(hWnd);

SetBkMode(hdc,TRANSPARENT);

SetTextColor(hdc,RGB(0,0,255));

SelectObject(hdc,GetStockObject(ANSI_VAR_FONT));

hPen=CreatePen(PS_SOLID,3,RGB(255,0,0));

SelectObject(hdc,hPen);

hBrush=CreateSolidBrush(RGB(255,200,0));

SelectObject(hdc,hBrush);

break;

case WM_COMMAND:

switch(wParam)

case IDM_CHANGE:

hdc=GetDC(hWnd);

SelectObject(hdc,GetStockObject(BLACK_PEN));

SelectObject(hdc,GetStockObject(BLACK_BRUSH));
DeleteObject(hPen);

DeleteObject(hBrush);

hPen=CreatePen(PS_SOLID,3,RGB(0,255,0));

SelectObject(hdc,hPen);

hBrush=CreateSolidBrush(RGB(0,200,200));

SelectObject(hdc,hBrush);

SelectObject(hdc,GetStockObject(OEM_FIXED_FONT));

InvalidateRect(hWnd,NULL,TRUE);

break;

case IDM_QUIT:

DestroyWindow(hWnd);

break;

break;

case WM_PAINT:

hdc = BeginPaint(hWnd, &Ps);

Ellipse(Ps.hdc,10,10,160,110);

hInstance=(HINSTANCE)GetWindowLong(hWnd,GWL_HINSTANCE);

LoadString(hInstance,S_CENTERTEXT,cbuf,sizeof(cbuf));

TextOut(Ps.hdc,50,50,cbuf,lstrlen(cbuf));
EndPaint(hWnd, &Ps);

break;

case WM_DESTROY:

DeleteObject(hPen);

DeleteObject(hBrush);

PostQuitMessage(WM_QUIT);

break;

default:

return DefWindowProc(hWnd, Msg, wParam, lParam);

return 0;

Prog 3

#include <windows.h>

#include"resource.h"

LRESULT CALLBACK WindProcedure(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);

INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,

LPSTR lpCmdLine, int nCmdShow)

{
WNDCLASS WndCls;

static char szAppName[] = "Font";

MSG Msg;

HBRUSH hBrush;

char cbuf[128];

HWND hwnd;

hBrush=CreateSolidBrush(RGB(255,230,255));

// WndCls.cbSize = 0;

WndCls.style = CS_OWNDC | CS_VREDRAW | CS_HREDRAW;

WndCls.lpfnWndProc = WindProcedure;

WndCls.cbClsExtra = 0;

WndCls.cbWndExtra = 0;

WndCls.hInstance = hInstance;

//WndCls.hIcon = LoadIcon(NULL, IDI_APPLICATION);

WndCls.hCursor = LoadCursor(NULL, IDC_ARROW);

WndCls.hbrBackground = hBrush;

WndCls.lpszMenuName = "Mymenu";

WndCls.lpszClassName = szAppName;

WndCls.hIcon = LoadIcon(hInstance, IDI_APPLICATION);

RegisterClass(&WndCls);

LoadString(hInstance,S_PROGRAMCAPTION,cbuf,sizeof(cbuf));

hwnd=CreateWindow(szAppName, "Device context",


WS_OVERLAPPEDWINDOW | WS_VISIBLE,

CW_USEDEFAULT, CW_USEDEFAULT, 450, 220,

NULL, NULL, hInstance, NULL);

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

TranslateMessage(&Msg);

DispatchMessage( &Msg);

DeleteObject(hBrush);

return (Msg.wParam);

LRESULT CALLBACK WindProcedure(HWND hWnd, UINT Msg,

WPARAM wParam, LPARAM lParam)

HDC hdc;

PAINTSTRUCT Ps;

char cbuf[128];

HINSTANCE hInstance;

static HPEN hPen;

static HBRUSH hBrush;

switch(Msg)

{
case WM_CREATE:

hdc=GetDC(hWnd);

SetBkMode(hdc,TRANSPARENT);

SetTextColor(hdc,RGB(0,0,255));

SelectObject(hdc,GetStockObject(ANSI_VAR_FONT));

hPen=CreatePen(PS_SOLID,3,RGB(255,0,0));

SelectObject(hdc,hPen);

hBrush=CreateSolidBrush(RGB(255,200,0));

SelectObject(hdc,hBrush);

break;

case WM_COMMAND:

switch(wParam)

case IDM_CHANGE:

hdc=GetDC(hWnd);

SelectObject(hdc,GetStockObject(BLACK_PEN));

SelectObject(hdc,GetStockObject(BLACK_BRUSH));

DeleteObject(hPen);

DeleteObject(hBrush);

hPen=CreatePen(PS_SOLID,3,RGB(0,255,0));

SelectObject(hdc,hPen);

hBrush=CreateSolidBrush(RGB(0,200,200));

SelectObject(hdc,hBrush);

SelectObject(hdc,GetStockObject(OEM_FIXED_FONT));
InvalidateRect(hWnd,NULL,TRUE);

break;

case IDM_QUIT:

DestroyWindow(hWnd);

break;

break;

case WM_PAINT:

hdc = BeginPaint(hWnd, &Ps);

Ellipse(Ps.hdc,10,10,160,110);

hInstance=(HINSTANCE)GetWindowLong(hWnd,GWL_HINSTANCE);

LoadString(hInstance,S_CENTERTEXT,cbuf,sizeof(cbuf));

TextOut(Ps.hdc,50,50,cbuf,lstrlen(cbuf));

EndPaint(hWnd, &Ps);

break;

case WM_DESTROY:

DeleteObject(hPen);

DeleteObject(hBrush);

PostQuitMessage(WM_QUIT);
break;

default:

return DefWindowProc(hWnd, Msg, wParam, lParam);

return 0;

You might also like