|
간단한 그림판을 만들어볼려고 하는데요..
C++Builder책에는 없어서
델파이 책에 비슷한 예제가 있어서 나름대로..C++문법에 맞게 고쳐가며 해보고 있거든요..
근데 이해안되는 부분이 있어서요..
스피드버튼을 몇개놓고..
각각이 선, 펜, 사각형, 원 이런 도형을 가리키거든요..
(왜 그림판보변 속성 지정해서 그릴수 있잖아요..아마도 그거와 유사한 기능을 하는것 같은데..)
그리고 그거에 대한 속성을 지정해주는 프로시저를 만들어주라고 하면서 코드가 나오거든요..
대충 이렇거든요..(전체 코드는 첨부파일로 보시면 됩니다)
procedure TForm1.ButtonKind(PenMode :TPenMode);
begin
Image1.Canvas.Pen.Mode := PenMode;
// 그림을 그릴 때.
if DrawBtn.Down = True then
Image1.Canvas.LineTo(MPoint.X, MPoint.Y);
[질문1]
근데 먼저..
procedure TForm1.ButtonKind(PenMode :TPenMode);
이 부분이요..
인스펙터의 Event부분 어디를 찾아봐도.. ButtonKind란 부분은 없더라구요..?
그래서 애초에 프로시저를 만들라고 하는거 보고..
그냥 아예 만들었거든요..
근데 그렇다면..
헤더 파일에..
void __fastcall ButtonKind(TPenMode *PenMode);
함수 선언을 해줬는데 이거 맞는건가요?
[질문2]
위의 델파일 코드를 나름대로 C++에 맞게 코드를 변형했는데..
void __fastcall TForm1::ButtonKind(TPenMode *PenMode)
{
Image1->Canvas->Pen->Mode = PenMode;
if(DrawBtn->Down)
{
Image1->Canvas->LineTo(MPoint x, MPoint y);
}
.
.
.
}
이게 당연히 안되니깐 틀리는 것이겠지만,, 뭐가 문제인지..@_@;
컴파일 시키면..
Image1->Canvas->Pen->Mode = PenMode; 가 붉은색으로 되면서..
[C++ Warning] Unit1.cpp(37): W8018 Assigning TPenMode * to TPenMode
[C++ Error] Unit1.cpp(37): E2034 Cannot convert 'TPenMode *' to 'TPenMode'
[C++ Error] Unit1.cpp(41): E2451 Undefined symbol 'MPoint'
라고 오류 메세지가 나오거든요..
뭐가 문제인지 설명좀 해주세요...--;
그리고 만약
그림판 만들어보신분 중..
소스 있으신분 계시면..
올려주시면 더욱 고맙겠습니다..^^*
|