|
폼 위에 마우스를 드래그하면 마우스를 따라서 처음 클릭한 곳으로부터 직선을 그어지게 하려 하는데요...
다음고 같이 코딩을 했는데 의도대로 되질 않는군요....ㅡㅡ;
//---------------------------------------------------------------------------
void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
if (Button == mbLeft)
{
m_ptOne.x = X;
m_ptOne.y = Y;
m_ptTwo = m_ptOne;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,
int X, int Y)
{
if (Shift == (TShiftState() << ssLeft))
{
TPenMode pmMode = Canvas->Pen->Mode;
Canvas->Pen->Mode = pmXor;
Canvas->MoveTo(m_ptOne.x, m_ptOne.y);
Canvas->LineTo(m_ptTwo.x, m_ptTwo.y);
m_ptTwo.x = X;
m_ptTwo.y = Y;
Canvas->MoveTo(m_ptOne.x, m_ptOne.y);
Canvas->LineTo(m_ptTwo.x, m_ptTwo.y);
Canvas->Pen->Mode = pmMode;
}
}
//---------------------------------------------------------------------------
조언 부탁드립니다.
|