//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Main.h"
#include "Options.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
enum TStanRys {start, koniec} StanRys;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
PaintBox1->Canvas->Pen->Width = 3;
StanRys = koniec;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Shape1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift,
int X, int Y)
{
if (ColorDialog1->Execute())
{
Shape1->Brush->Color = ColorDialog1->Color;
PaintBox1->Canvas->Pen->Color = Shape1->Brush->Color;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::PedzelButtonClick(TObject *Sender)
{
PaintBox1->Canvas->Pen->Color = Shape1->Brush->Color;
PaintBox1->Canvas->Pen->Width = 3;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::PaintBox1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift,
int X, int Y)
{
PaintBox1->Canvas->FloodFill(X, Y,0 , fsSurface);
if (PedzelButton->Down || GumkaButton->Down )
{
StanRys = start;
PaintBox1->Canvas->MoveTo(X, Y);
PaintBox1->Canvas->Pen->Mode = pmCopy;
}
else if (LiniaButton->Down)
{
switch(StanRys)
{
case start:
StanRys = koniec;
PaintBox1->Canvas->Pen->Mode = pmCopy;
PaintBox1->Canvas->MoveTo(XPocz, YPocz);
PaintBox1->Canvas->LineTo(X, Y);
break;
case koniec:
StanRys = start;
PaintBox1->Canvas->Pen->Mode = pmNotXor;
XPocz = X;
YPocz = Y;
Xr = X;
Yr = Y;
break;
}
}
else if(ElipsaButton->Down)
{
StanRys = start;
XPocz = X;
YPocz = Y;
Xr = X;
Yr = Y;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::PaintBox1MouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift,
int X, int Y)
{
if( WiadroButton->Down)
{
PaintBox1->Canvas->Brush->Color = Shape1->Brush->Color;
PaintBox1->Canvas->FloodFill(X, Y,Shape1->Brush->Color , fsBorder);
}
StanRys = koniec;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::PaintBox1MouseMove(TObject *Sender, TShiftState Shift, int X,
int Y)
{
if(StanRys == start)
{
if (PedzelButton->Down || GumkaButton->Down )
{
PaintBox1->Canvas->LineTo(X, Y);
}
else if (LiniaButton->Down)
{
PaintBox1->Canvas->MoveTo(XPocz, YPocz);
PaintBox1->Canvas->LineTo(Xr, Yr);
PaintBox1->Canvas->MoveTo(XPocz, YPocz);
PaintBox1->Canvas->LineTo(X, Y);
Xr = X;
Yr = Y;
}
else if (ElipsaButton->Down)
{
PaintBox1->Canvas->Pen->Mode = pmNotXor;
PaintBox1->Canvas->Pen->Style = psSolid;
PaintBox1->Canvas->Ellipse(XPocz, YPocz, Xr, Yr);
PaintBox1->Canvas->Ellipse(XPocz, YPocz, X, Y);
Xr = X;
Yr = Y;
PaintBox1->Canvas->Pen->Mode = pmCopy;
}
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::GumkaButtonClick(TObject *Sender)
{
PaintBox1->Canvas->Pen->Color = clWhite;
PaintBox1->Canvas->Pen->Width = 10;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Wyczywszystko1Click(TObject *Sender)
{
PaintBox1->Refresh();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Oprogramie1Click(TObject *Sender)
{
MessageBoxA(0,"NetPaint 0.99 \nAutor: ****", "Informacje o autorze", MB_OK | MB_ICONINFORMATION);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::PołączClick(TObject *Sender)
{
Panel3->Visible = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ZamknijClick(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int port;
if (TryStrToInt(Edit2->Text, port) && Edit1->Text != "")
{
ClientSocket1->Host = Edit1->Text;
ClientSocket1->Port = port;
ClientSocket1->Active = true;
}
else
{
MessageBoxA(this->Handle, "Wprowadź port i adres hosta", "Błąd!", MB_OK | MB_ICONERROR);
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::RozłączClick(TObject *Sender)
{
ClientSocket1->Active = false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::UruchomClick(TObject *Sender)
{
ServerSocket1->Active = true;
Caption = Caption + " - Serwer uruchomiony";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::StopClick(TObject *Sender)
{
ListBox1->Clear();
ServerSocket1->Active = false;
Caption = "NetPaint - Serwer wyłączony";
Stop->Enabled = false;
Uruchom->Enabled = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::OpcjeClick(TObject *Sender)
{
Form2->ShowModal();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ServerSocket1ClientConnect(TObject *Sender, TCustomWinSocket *Socket)
{
ListBox1->Items->Append("Użytkownik " + Socket->RemoteAddress + ":" + Socket->RemotePort);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::UruchomMouseEnter(TObject *Sender)
{
StatusBar1->Panels->Items[0]->Text = dynamic_cast<TControl *>(Sender)->Name;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ServerSocket1ClientDisconnect(TObject *Sender, TCustomWinSocket *Socket)
{
ListBox1->Items->Delete(ListBox1->Items->IndexOf(
Socket->RemoteAddress + ":" + Socket->RemotePort));
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ServerSocket1Listen(TObject *Sender, TCustomWinSocket *Socket)
{
Stop->Enabled = true;
Uruchom->Enabled = false;
}
//---------------------------------------------------------------------------