Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kody_programm_k_voprosam.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
778.75 Кб
Скачать

Коды программ к вопросам

//22SWA.C

// Simple Windows Aplication - простое приложение Windows

#include <windows.h>

LONG FAR PASCAL WindowProc(HWND, UINT, WPARAM, LPARAM);

char szProgName[] = "ProgName";

int PASCAL WinMain (HINSTANCE hInst, HINSTANCE hPreInst,

LPSTR lpszCmdLine, int nCmdShow)

{

HWND hwnd;

MSG msg;

WNDCLASS wc22SWA;

if(!hPreInst)

{

wc22SWA.lpszClassName = szProgName;

wc22SWA.hInstance = hInst;

wc22SWA.lpfnWndProc = WindowProc;

wc22SWA.hCursor = LoadCursor(NULL,IDC_ARROW);

wc22SWA.hIcon = NULL;

wc22SWA.lpszMenuName = NULL;

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

wc22SWA.style = CS_HREDRAW|CS_VREDRAW;

wc22SWA.cbClsExtra = 0;

wc22SWA.cbWndExtra = 0;

if(!RegisterClass (&wc22SWA))

return FALSE;

}

hwnd = CreateWindow(szProgName, "Simple Windows Application",

WS_OVERLAPPEDWINDOW, CW_USEDEFAULT,

CW_USEDEFAULT, CW_USEDEFAULT,

CW_USEDEFAULT, (HWND)NULL, (HMENU)NULL,

(HINSTANCE) hInst, (LPVOID) NULL);

ShowWindow(hwnd, nCmdShow);

UpdateWindow(hwnd);

while(GetMessage(&msg, 0, 0, 0))

{

TranslateMessage(&msg);

DispatchMessage(&msg);

}

return(msg.wParam);

}

LONG FAR PASCAL WindowProc(HWND hWnd, UINT messg, WPARAM wParam, LPARAM lParam)

{

PAINTSTRUCT ps;

HDC hdc;

switch(messg)

{

case WM_PAINT:

hdc=BeginPaint(hWnd, &ps);

// начало рисования

MoveToEx(hdc, 0, 0, NULL);

LineTo(hdc, 639, 429);

TextOut(hdc, 55, 20, "<-a diagonal line", 17);

// диоганальная линия

Ellipse(hdc, 200, 200, 275, 250);

TextOut(hdc, 210, 215, "<-an ellipse", 12);

// эллипс

Chord(hdc, 550, 20, 630, 80, 555, 25, 625, 70);

TextOut(hdc, 470, 30, "A Chord ->", 10);

// хорда

Pie(hdc, 300, 50, 400, 150, 300, 50, 300, 100);

TextOut(hdc, 350, 80, "A Pie Wedge", 11);

// сектор

Rectangle(hdc, 50, 300, 150, 400);

TextOut(hdc, 160, 350, "<- A Rectangle", 14);

// прямоугольник

// конец рисования

ValidateRect(hWnd, NULL);

EndPaint(hWnd, &ps);

break;

case WM_DESTROY:

PostQuitMessage(0);

break;

default:

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

}

return(0L);

}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//22SINE.C

#include <windows.h>

#include <math.h>

#define pi 3.14159265359

LONG FAR PASCAL WindowProc(HWND, UINT, WPARAM, LPARAM);

char szProgName[] = "ProgName";

Int pascal WinMain (hinstance hInst, hinstance hPreInst,

LPSTR lpszCmdLine, int nCmdShow)

{

HWND hwnd;

MSG msg;

WNDCLASS wcSwp;

If(!hPreInst)

{

wcSwp.lpszClassName = szProgName;

wcSwp.hInstance = hInst;

wcSwp.lpfnWndProc = WindowProc;

wcSwp.hCursor = LoadCursor(NULL,IDC_ARROW);

wcSwp.hIcon = NULL;

wcSwp.lpszMenuName = NULL;

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

wcSwp.style = CS_HREDRAW|CS_VREDRAW;

wcSwp.cbClsExtra = 0;

wcSwp.cbWndExtra = 0;

if(!RegisterClass (&wcSwp))

return FALSE;

}

hwnd = CreateWindow(szProgName, "A Sine Wave",

WS_OVERLAPPEDWINDOW, CW_USEDEFAULT,

CW_USEDEFAULT, CW_USEDEFAULT,

CW_USEDEFAULT, (HWND)NULL, (HMENU)NULL,

(HINSTANCE) hInst, (LPVOID) NULL);

ShowWindow(hwnd, nCmdShow);

UpdateWindow(hwnd);

while(GetMessage(&msg, 0, 0, 0))

{

TranslateMessage(&msg);

DispatchMessage(&msg);

}

return(msg.wParam);

}

LONG FAR PASCAL WindowProc(HWND hwnd, UINT messg, WPARAM wParam, LPARAM lParam)

{

PAINTSTRUCT ps;

HDC hdc;

int i;

double y;

switch(messg)

{

case WM_PAINT:

hdc = BeginPaint(hwnd,&ps);

// начало рисования

/* проводим координатные оси х и у */

MoveToEx(hdc, 100, 50, NULL);

LineTo(hdc, 100, 350);

MoveToEx(hdc, 100, 200, NULL);

LineTo(hdc, 500, 200);

MoveToEx(hdc, 100, 200, NULL);

/* рисуем синусоиду */

for(i = 1; i < 400; i++)

{

y=120.0* sin(pi* i* (360.0/ 400.0/ 180.0));

LineTo(hdc, i+ 100, (int)(200.0- y));

}

// конец рисования

ValidateRect(hwnd,NULL);

EndPaint(hwnd, &ps);

break;

case WM_DESTROY:

PostQuitMessage(0);

break;

default:

return(DefWindowProc(hwnd, messg, wParam, lParam));

break;

}

return(0L);

}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

// 22PIE.C

//22PIE.H

#define IDM_ABOUT 10

#define IDM_INPUT 20

#define IDM_EXIT 30

#define DM_TITLE 150

#define DM_P1 151

#define DM_P2 152

#define DM_P3 153

#define DM_P4 154

#define DM_P5 155

#define DM_P6 156

#define DM_P7 157

#define DM_P8 158

#define DM_P9 159

#define DM_P10 160

//22PIE.C

//22PIE.RC

#include "windows.h"

#include "22PIE.H"

BarCursor CURSOR 22PIE.cur

PieMenu MENU

BEGIN

POPUP "Pie_Chart_Data"

BEGIN

MENUITEM "About...", IDM_ABOUT

MENUITEM "Input...", IDM_INPUT

MENUITEM "Exit", IDM_EXIT

END

END

ABOUTDLGBOX DIALOG DISCARDABLE 50,300,180,80

STYLE DS_MODALFRAME|WS_POPUP

FONT 8,"System"

BEGIN

CTEXT "Microsoft C Pie Chart Program",-1,3,29,176,10,NOT WS_GROUP

CTEXT "by Nikolay I. Beloded ",-1,3,16,176,10,NOT WS_GROUP

PUSHBUTTON "OK",IDOK,74,51,32,14

END

PIEDLGBOX DIALOG DISCARDABLE 93,37,193,156

STYLE WS_POPUP|WS_CAPTION

CAPTION "Pie Chart Data"

BEGIN

GROUPBOX "Chart Title:",100,5,3,182,30,WS_TABSTOP

GROUPBOX "Pie Wedge Sizes:",101,3,34,187,95,WS_TABSTOP

LTEXT "Title: ",-1,10,21,30,8,NOT WS_GROUP

EDITTEXT DM_TITLE,40,18,140,12

LTEXT "Wedge #1: ",-1,10,50,40,8, NOT WS_GROUP

LTEXT "Wedge #2: ",-1,10,65,40,8, NOT WS_GROUP

LTEXT "Wedge #3: ",-1,10,80,40,8, NOT WS_GROUP

LTEXT "Wedge #4: ",-1,10,95,40,8, NOT WS_GROUP

LTEXT "Wedge #5: ",-1,10,110,40,8, NOT WS_GROUP

LTEXT "Wedge #6: ",-1,106,50,40,8, NOT WS_GROUP

LTEXT "Wedge #7: ",-1,106,65,40,8, NOT WS_GROUP

LTEXT "Wedge #8: ",-1,106,80,40,8, NOT WS_GROUP

LTEXT "Wedge #9: ",-1,106,95,40,8, NOT WS_GROUP

LTEXT "Wedge #10: ",-1,102,110,45,8, NOT WS_GROUP

EDITTEXT DM_P1,55,45,30,12

EDITTEXT DM_P2,55,60,30,12

EDITTEXT DM_P3,55,75,30,12

EDITTEXT DM_P4,55,90,30,12

EDITTEXT DM_P5,55,105,30,12

EDITTEXT DM_P6,150,44,30,12

EDITTEXT DM_P7,150,61,30,12

EDITTEXT DM_P8,150,76,30,12

EDITTEXT DM_P9,149,91,30,12

EDITTEXT DM_P10,149,106,30,12

PUSHBUTTON "OK",IDOK,39,135,24,14

PUSHBUTTON "Cancel",IDCANCEL,122,136,34,14

END

// 22PIE.C

#include <windows.h>

#include <string.h>

#include <math.h>

#include "22pie.h"

#define radius 180

#define maxnumwedge 10

#define pi 3.14159265359

LONG FAR PASCAL WindowProc(HWND, UINT, WPARAM, LPARAM);

BOOL FAR PASCAL AboutDlgProc(HWND, UINT, WPARAM, LPARAM);

BOOL FAR PASCAL PieDlgProc(HWND, UINT, WPARAM, LPARAM);

char szProgName[] = "ProgName";

char szApplName[] = "PieMenu";

char szCursorName[] = "PieCursor";

char szTString[80] = "(bar chart title area)";

unsigned int iWedgesize[maxnumwedge] = {5, 10, 7, 20};

long lColor[maxnumwedge] = {0x0L, 0xFFL, 0xFF00L, 0xFFFFL,

0xFF0000L, 0xFF00FFL, 0xFFFF00L,

0xFFFFFFL, 0x8080L, 0x808080L};

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]