Автор: Пользователь скрыл имя, 06 Декабря 2011 в 03:08, курсовая работа
Железнодорожное управление вокзала города Энска заказало логотип, рекламный ролик и программу обслуживания железнодорожных касс. Программа накапливает информацию: город следования, количество поездов на данное направление, среднее число посадочных мест в поезде, ожидаемый пассажиропоток. Программа по запросу на указанном направлении изменяет любое из информационных полей. Программа по запросу выдает информацию о тех направлениях, на которых наблюдается недогрузка поездов (загруженность поезда меньше 50%) и снимает с этих направлений избыточные поезда (считать допустимой загрузку на 89%)
COLORREF
col[4][3]={{RGB(205,133,63),
{RGB(10,255,22),RGB(87,186,47)
HBRUSH
hBrush=CreateSolidBrush(col[
HBRUSH
oldBrush=(HBRUSH)SelectObject(
for (int i=0; i<3;i++)
Rectangle(hdc,x1+
DeleteObject((HBRUSH)hBrush);
HBRUSH hBrush1 = CreateSolidBrush(col[colour][
SelectObject(hdc,(
for (int i=0; i<2; i++)
Rectangle(hdc,0,
DeleteObject(
HPEN
hpen = CreatePen(PS_SOLID,7,col[
HPEN
oldPen=(HPEN)SelectObject(hdc,
POINT N[4]={{x1*1.5,y1*2.5},
{x1*2.0, y1*4.5},
{x1*3.0,y1*2.5},
{x1*3.5,y1*4.5}};
Polyline(hdc,N,4);
POINT S[6]={{x1*6.5,y1*3},
{x1*7.5, y1*2.5},
{x1*8.5,y1*3},
{x1*6.5,y1*4},
{x1*7.5,y1*4.5},
{x1*8.5,y1*4}};
Polyline(hdc,S,6);
POINT K[3]={{x1*13.5,y1*4.5},
{x1*11.5,y1*3.5},
{x1*13.5,y1*2.5}};
Polyline(hdc,K,3);
MoveToEx(hdc,K[1].x,K[0]
LineTo(hdc,K[1].x,K[2].
DeleteObject(
}
void reclama(HWND hWnd, HDC hdc )
{
TCHAR* line[7] ={ "\tЖД г.Энск",
// макрос RGB задает палитру цветов от RGB(255,255,255)белый,
// до RGB(0,0,0) черный
HPEN hPen0 =
CreatePen(PS_SOLID,1,RGB(250,
HPEN
hOldPen= (HPEN)SelectObject(hdc,hPen0);
static LOGFONT lf;
lf.lfPitchAndFamily = FIXED_PITCH | FF_MODERN;
// Шаг шрифта DEFAULT_PITCH по умолчанию
lf.lfItalic = TRUE;
// запрашивается курсивный шрифт, если TRUE
lf.lfWeight = FW_BOLD;
// жирность шрифта 0(FW_DONTCARE),100,200,... 700,..,900
// значение 0 предписывает выбрать вес по умолчанию
lf.lfHeight = 70;
lf.lfCharSet = DEFAULT_CHARSET;
// код используемого
набора символов
HFONT hFont0 = CreateFontIndirect(&lf);
HFONT
hOldFont = (HFONT)SelectObject(hdc,
SetTextColor(hdc,RGB(0,
RECT rect;
GetClientRect(hWnd,&
int x=rect.right/2+50, y=30;
const int xVE = rect.right - rect.left; // 760
const int yVE = rect.bottom - rect.top;// 485
int tabStop[] ={ xVE/80, xVE/5, -xVE/2,-(xVE-2*x)};
int dY=0;
LONG w=TabbedTextOut (hdc,x,y,line[0],wcslen(line[
tabStop,x);
dY=HIWORD(w)- 5;
y=y+1*dY/4;
int cv=50;
int h[]={50,50,50};
for( int i=1; i<4; ++i)
{ y=y+dY;
lf.lfHeight = h[i-1];
hFont0 = CreateFontIndirect(&lf);
DeleteObject(SelectObject(hdc,
SetTextColor(hdc,RGB(150,150,
TabbedTextOut (hdc,x,y,line[i],wcslen(line[
tabStop,x);
}
SetTextColor(hdc,RGB(0,0,0));
lf.
lf.lfHeight=30;
lf.lfWidth =23 ;
lf.lfWeight=500;
lf.lfUnderline=
hFont0 = CreateFontIndirect(&lf);
SelectObject(hdc,
for(int i=4; i<7; i++)
{
static int uu = 45,vv=200;
TextOut(hdc,
}
DeleteObject(SelectObject(hdc,
DeleteObject(
GetClientRect(hWnd,&
}
File Dialogs Func.cpp
#include "stdafx.h"
#include "kursovaya.h"
void ClearAll(HWND hDlg)//очистка списка и полей
{
SendMessage(
GetDlgItem(hDlg, IDC_LIST_CITY), LB_RESETCONTENT, 0, 0);
ClearEdits(hDlg);
}
void FillList(HWND hDlg, fstream& File)//заполнение списка названий городов.
{
File.clear();
File.seekp(0,
ios::beg);
Record
Info;
for(int i = 0; ReadInfo(File, Info, i+1); i++)
{
SendMessage( GetDlgItem(hDlg, IDC_LIST_CITY), LB_ADDSTRING, 0, (LPARAM)Info.City);
}
}
void ClearEdits(HWND hDlg)
{
SetDlgItemText(hDlg, IDC_EDIT_COUNT, "");
SetDlgItemText(hDlg, IDC_EDIT_PLACES, "");
SetDlgItemText(hDlg,
IDC_EDIT_PASSENGERS, "");
SendMessage( GetDlgItem(hDlg, IDC_CHECK_DELETE), BM_SETCHECK, BST_UNCHECKED, 0);
}
void FillEdits(HWND hDlg, Record& Info)//заполнение полей информацией,которую передаем
{
SetDlgItemInt(hDlg, IDC_EDIT_COUNT, Info.Count, FALSE);
SetDlgItemInt(hDlg, IDC_EDIT_PLACES, Info.Places, FALSE);
SetDlgItemInt(hDlg,
IDC_EDIT_PASSENGERS, Info.Passengers, FALSE);
SendMessage( GetDlgItem(hDlg, IDC_CHECK_DELETE), BM_SETCHECK, (Info.Delete == false) ? BST_UNCHECKED : BST_CHECKED, 0);
}
bool GetInfo(HWND hDlg, Record& Info)//получаем информацию из полей
{
BOOL CopyCount, CopyPlaces, CopyPassengers;
GetDlgItemText(hDlg, IDC_EDIT_CITY, Info.City, STRLEN);
Info.Count = GetDlgItemInt(hDlg, IDC_EDIT_COUNT, &CopyCount, FALSE);
Info.Places = GetDlgItemInt(hDlg, IDC_EDIT_PLACES, &CopyPlaces, FALSE);
Info.Passengers
= GetDlgItemInt(hDlg, IDC_EDIT_PASSENGERS, &CopyPassengers, FALSE);
if(!CopyCount || !CopyPlaces || !CopyPassengers || !*Info.City)
{
return false;
}
return true;
}
bool ChangeInfo(HWND hDlg, Record& Info)//изменяем запись в поле
{
BOOL CopyCount, CopyPlaces, CopyPassengers;
TCHAR City[STRLEN];
GetDlgItemText(hDlg, IDC_EDIT_CITY, City, STRLEN);
int Count = GetDlgItemInt(hDlg, IDC_EDIT_COUNT, &CopyCount, FALSE);
int Places = GetDlgItemInt(hDlg, IDC_EDIT_PLACES, &CopyPlaces, FALSE);
int Passengers = GetDlgItemInt(hDlg, IDC_EDIT_PASSENGERS,
&CopyPassengers, FALSE);
if(CopyCount)
{
Info.Count = Count;
}
if(CopyPlaces)
{
Info.Places = Places;
}
if(CopyPassengers)
{
Info.Passengers = Passengers;
}
if(*City)
{
wcscpy(Info.City, City);
}
return true;
}
File Dialogs.cpp
#include "stdafx.h"
#include "kursovaya.h"
int N;
INT_PTR CALLBACK InfoDialog(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
UNREFERENCED_PARAMETER(