Иллюстрированный самоучитель по C++ Builder

Текст программы

void __fastcall TForml::Mina(int x, int y)
{
Canvas › Brush › Color = clGreen;
Canvas › Pen › Color = clBlack;
Canvas › Rectangle(x+16,y+26,x+24,y+30);
// корпус
Canvas › Rectangle(x+8,y+30,x+32,y+34);
Canvas › Pie(x+6,y+28,x+34,y+44,x+34,y+36,x+6,y+36);
// полоса на корпусе
Canvas › MoveTo(x+12,y+32);
Canvas › LineTo(x+28,y+32);
// основание
Canvas › MoveTo(x+8,y+36);
Canvas › LineTo(x+32,y+36);
// вертикальный "ус"
Canvas › MoveTo(x+20,y+22);
Canvas › LineTo(x+20,y+26);
// боковые "усы"
Canvas › MoveTo(x+8, y+30);
Canvas-XLineTo(x+6,y+28);
Canvas › MoveTo(x+32,y+30);
Canvas › LineTo(x+34,y+28); }
// рисует флаг
void __fastoall TForml::Flag(int x, int y)
{
TPoint p[4]; // координаты флажка и нижней точки древка
// точки флажка
р[0].х=х+4; р[0].у=у+4;
р[1].х=х+30; р[1].у=у+12;
р[2].х=х+4; р[2].у=у+20;
// установим цвет кисти и карандаша
Canvas › Brush › Color = clRed;
Canvas › Pen › Color = clRed;
// чтобы контур флажка бил красный
Canvas › Polygon(p, 2); // флажок
// древко
Canvas › Pen › Color = clBlack;
Canvas › MoveTo(p[0].x, p[0].у);
Canvas › LineTo(x+4,y+36);
TPoint m[5]; // буква М
m[0].x=x+8; m[0].y=y+14;
 m[l].x=x+8; m[l].y=y+8;
m[2].x=x+10; m[2].y=y+10;
m[3].x=x+12; m[3].y=y+8;
m[4].x=x+12; m[4].y=y+14;
Canvas › Pen › Color = clWhite;
Canvas › Polyline(m,4);
Canvas › Pen › Color = clBlack; }
// команда главного меню Новая игра
void__fastcall TForml::NlCllck(TObject *Sender)
{
NewGame();
ShowPole(status); }
// выбор в меню "?" команды О программе
void__fastcall TForml::N4Click(TObject *Sender)
{
AboutForm-ХГор = Forml › Top + Forml › Height/2
 – AboutForm › Height/2;
AboutForm › Left = Forml › Left + Forml › Width/2
 – AboutForm › Width/2; AboutForm › ShowModal(); }
// выбор в меню "?" команды Справка
void __fastcall TForml::N3Click(TObject *Sender)
{
WinHelp(Forml › Handle,"saper.hip",HELP_CONTEXT,1); }

Листинг 10.13. Модуль формы О программе (saper2_.cpp)

#include <vcl.h>
#pragma hdrstop
#include "saper_2.h"
#pragma package(smart_init)
#pragma resource "*.dfm" TAboutForm *AboutForm;
__fastcall TAboutForm::TAboutForm(TComponent* Owner)
: TForm(Owner) { }
// Выбор URL-адреса
void __fastcall TAboutForm::Label5Click(TObject *Sender)
{
/* В функцию ShellExvte надо передать указатель на
null terminated строку (char*). Свойство Caption – это AnsiString.
Преобразование Ansi-строки в указатель
на nt-строку выполняет метод c_str()
*/
//, открыть файл, имя которого находится в поле
Labels ShellExecute
(AboutForm › Handle,"open",Label5 › Caption.c_str(),
NULL,NULL,SW_RESTORE); }
// щелчок на кнопке QK
void __fastcall TAboutForm::ButtonlClick(TObject *Sender)
{
ModalResult = mrOk; }
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.