//--------------------------------------------------------------------------- #include #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma resource "*.dfm" int cl; bool drawing; TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender) { int i; screen->Canvas->Brush->Color=clWhite; //描画画面を白く塗りつぶす screen->Canvas->FillRect(Rect(1,1,321,321)); screen->Canvas->Brush->Color=clBlack; //黒い枠を付ける screen->Canvas->FrameRect(Rect(0,0,322,322)); for (i=0;i<256;i++){ //選択用グラテーション作成 pallete->Canvas->Brush->Color=i*65536+i*256+i; pallete->Canvas->FillRect(Rect(i+1,1,i+2,33)); } cl=0; //最初の色は黒 } //--------------------------------------------------------------------------- void __fastcall TForm1::screenMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { screen->Canvas->Brush->Color=cl;//選択された色に設定 screen->Canvas->FillRect(Rect(X,Y,X+4,Y+4)); drawing=true; //描画開始 } //--------------------------------------------------------------------------- void __fastcall TForm1::screenMouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { if (drawing) { //マウスボタンが押されているなら screen->Canvas->Brush->Color=cl; screen->Canvas->FillRect(Rect(X,Y,X+4,Y+4)); } } //--------------------------------------------------------------------------- void __fastcall TForm1::screenMouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { drawing=false; //描画中止 } //--------------------------------------------------------------------------- void __fastcall TForm1::palleteMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { cl=pallete->Picture->Bitmap->Canvas->Pixels[X][Y]; //色選択 } //---------------------------------------------------------------------------