CS410 Assignment No 4 Spring 2012 solution
Task 1: (Marks = 2)
Draw a simple Window using ‘windows.h’
Task 2: (Marks = 8 (1 + 1 + 2 + 2 + 2))
When program will execute,
1 – Windows Title Bar has text as your VU ID.
2 – In client area, first line of the windows have your name as Name = XYZ *Replace XYZ with your Name
3 – In next line, a Solid line would be appeared.
4 – After that, Text ‘Current Semester Registered Courses’ will appear. And in next line to that, there will be a dash line.
5 – After step 4, Courses ID with Course names would be displayed (One Course Code and Name per line).
6 – At last, a line is drawn with pattern brush to finish your task.
Sample output screen shot is provided below;
Solution:
#include <windows.h>
LRESULT CALLBACK WndProc(
HWND hWnd,
UINT msg,
WPARAM wParam,
LPARAM lParam ) {
switch( msg ) {
case WM_PAINT: {
POINT pntArray[2];
pntArray[0].x=05;
pntArray[0].y=30;
pntArray[1].x=625;
pntArray[1].y=30;
POINT pntArraySec[2];
pntArraySec[0].x=05;
pntArraySec[0].y=90;
pntArraySec[1].x=625;
pntArraySec[1].y=90;
POINT pntArrayThird[2];
pntArrayThird[0].x=05;
pntArrayThird[0].y=250;
pntArrayThird[1].x=625;
pntArrayThird[1].y=250;
PAINTSTRUCT ps;
HDC hDC = BeginPaint( hWnd, &ps );
HPEN PenSolid=CreatePen(PS_SOLID, 2, RGB(0,0,0));
HPEN PenDash=CreatePen(PS_DASH, 1, RGB(0,0,0));
HPEN PenDastDot=CreatePen(PS_DASHDOT, 1, RGB(0,0,0));
TextOut(hDC, 20, 05, “Name: XYZ”, 9);
SelectObject(hDC,PenSolid);
Polyline(hDC, pntArray, 2);
TextOut(hDC, 20, 60, “Current Semester Registered Courses”, 35);
SelectObject(hDC,PenDash);
Polyline(hDC, pntArraySec, 2);
TextOut(hDC, 20, 120, “CS410 Visual Programming”, 34);
TextOut(hDC, 20, 140, “CS410 Visual Programming”, 34);
TextOut(hDC, 20, 160, “CS410 Visual Programming”, 34);
TextOut(hDC, 20, 180, “CS410 Visual Programming”, 34);
TextOut(hDC, 20, 200, “CS410 Visual Programming”, 34);
TextOut(hDC, 20, 200, “CS410 Visual Programming”, 34);
SelectObject(hDC,PenDastDot);
Polyline(hDC, pntArrayThird, 2);
EndPaint( hWnd, &ps );
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc( hWnd, msg, wParam, lParam);
}
return 0;
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow) {
WNDCLASSEX wce;
wce.cbSize = sizeof(wce);
wce.style = CS_VREDRAW | CS_HREDRAW;
wce.lpfnWndProc = (WNDPROC) WndProc;
wce.cbClsExtra = 0;
wce.cbWndExtra = 0;
wce.hInstance = hInstance;
wce.hIcon = LoadIcon((HINSTANCE) NULL, IDI_APPLICATION);
wce.hCursor = LoadCursor((HINSTANCE) NULL, IDC_ARROW);
wce.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
wce.lpszMenuName = 0;
wce.lpszClassName = “createClass”,
wce.hIconSm = 0;
if (!RegisterClassEx(&wce)) return 0;
HWND hWnd = CreateWindowEx(
0,
“createClass”,
“ABC123 (WRITE YOUR ROLL NUMBER HERE)”,
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
650,
500,
NULL,
NULL,
hInstance,
NULL
);
ShowWindow( hWnd, nCmdShow );
MSG msg;
int r;
while ((r = GetMessage(&msg, NULL, 0, 0 )) != 0) {
if (r == -1) {
;
}
else {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
return msg.wParam;
};
0 comments:
Post a Comment