請教一個問題 |
答題得分者是:richtop
|
ksam123
一般會員 發表:6 回覆:3 積分:1 註冊:2004-06-12 發送簡訊給我 |
|
richtop
資深會員 發表:122 回覆:646 積分:468 註冊:2003-06-10 發送簡訊給我 |
|
李國維
高階會員 發表:42 回覆:287 積分:235 註冊:2003-02-07 發送簡訊給我 |
|
ksam123
一般會員 發表:6 回覆:3 積分:1 註冊:2004-06-12 發送簡訊給我 |
|
ddy
站務副站長 發表:262 回覆:2105 積分:1169 註冊:2002-07-13 發送簡訊給我 |
|
richtop
資深會員 發表:122 回覆:646 積分:468 註冊:2003-06-10 發送簡訊給我 |
ksam123 您好: 一個模仿上述部分功能的程式(BCB版本),供您參考!
說明如下:
1.因只是表達其涵意,以儘量接近為原則。
2.該程式有記錄填過點的位置,此簡單版本沒有,所以當有其他畫面遮住或form大小變更時,可能會導致某些方塊不見了(沒有在FormPaint(.)中重畫)。 希望能有個起頭,剩下的就請您自行研究與添加功能了!
>
< class="code">
//---------------------------------------------------------------------------
const int x0=10, y0=10, dh=10, dw=10, w=40, h=40; void __fastcall TForm1::FormPaint(TObject *Sender)
{ int row, col, len, gray=120; Form1->Canvas->Pen->Color = (TColor) RGB(gray, gray, gray);
len = dw*w;
for (row=0; row<=h; row )
{ Form1->Canvas->MoveTo(x0, y0 row*dh);
Form1->Canvas->LineTo(x0 len, y0 row*dh);
}
len = dh*h;
for (col=0; col<=w; col )
{ Form1->Canvas->MoveTo(x0 col*dw, y0 );
Form1->Canvas->LineTo(x0 col*dw, y0 len);
} }
//---------------------------------------------------------------------------
bool pressed=false; void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
pressed = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,
int X, int Y)
{
int px, py, gray=120;; if ( ! pressed ) return;
if ( X
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |