Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
마우스 드래그할 때 지정된 도형이 그려지도록 하려면?
마우스로 드래그해서 나타나는 도형의 색갈이 들어가도록해야 합니다
버튼을 만들어서 사각형과 원 을 체크할수있는 버튼이어야 합니다
그래서 사각형을 체크해서 마우스로 드래그하면 사각형이 그려지면서 색깔이
들어가는 것을 만들어야 합니다. 또는 원을 체크해서 드래그 하
면 원이 그려지면서 색깔이 있는 원을 나타내는 뭐 이런것
입니다, 제발좀 가르쳐 주시길 바랍니다.
4
COMMENTS
컴맹
•
2000.11.15 05:39
짧게 한번 만들어 봤는데여..
대충 이런걸 말씀 하시는 건가여...
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm2 = class(TForm)
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
msX,msY : integer;
implementation
{$R *.DFM}
procedure TForm2.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
MsX := X;
msY := Y;
end;
procedure TForm2.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
r : TRect;
begin
r.Left := msx;
r.Top := msY;
r.Bottom := Y;
r.Right := X;
Canvas.Pen.Color := clBlack;
if RadioButton1.Checked then
begin //원그리기..
canvas.Brush.Color := clBlue;
Canvas.Ellipse(r);
end
else
begin //네모그리기..
canvas.Brush.Color := clRed;
Canvas.Rectangle(msX,msY,X,Y);
canvas.FloodFill(x,y,clmenu,fsSurface );
end;
end;
procedure TForm2.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
r : TRect;
begin
if shift = [ssLeft] then
begin
r.Left := msx;
r.Top := msY;
r.Bottom := Y;
r.Right := X;
Canvas.Brush.Color := clmenu;
Canvas.Pen.Color := clwhite;
Refresh;
if RadioButton1.Checked then
begin
Canvas.Ellipse(r);
end
else
begin
Canvas.Rectangle(msX,msY,X,Y);
end;
end;
end;
end.
peny wrote:
> 마우스로 드래그해서 나타나는 도형의 색갈이 들어가도록해야 합니다
> 버튼을 만들어서 사각형과 원 을 체크할수있는 버튼이어야 합니다
> 그래서 사각형을 체크해서 마우스로 드래그하면 사각형이 그려지면서 색깔이
> 들어가는 것을 만들어야 합니다. 또는 원을 체크해서 드래그 하
> 면 원이 그려지면서 색깔이 있는 원을 나타내는 뭐 이런것
> 입니다, 제발좀 가르쳐 주시길 바랍니다.
0
0
삭제
수정
댓글
peny
•
2000.11.15 08:25
죄송합니다 제가 초보라서 어디에 어떻게 소스를 넣어야 할지 모르겠습니다.
그리고 콤퍼넌트는 어떻게 만들었는지도 모르겠구요 간단한 주석이나 조금 쉽게 설명을
해주셨으면 합니다. 정말 감사합니다/
0
0
삭제
수정
댓글
Mr.Q
•
2000.11.15 14:48
peny wrote:
> 죄송합니다 제가 초보라서 어디에 어떻게 소스를 넣어야 할지 모르겠습니다.
> 그리고 콤퍼넌트는 어떻게 만들었는지도 모르겠구요 간단한 주석이나 조금 쉽게 설명을
> 해주셨으면 합니다. 정말 감사합니다/unit Unit2;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
//--------------------------------------------------------------------------
// 폼에 라디오버튼을 2개를 올려놓고, 폼마우스이벤트가 선언되었네요.
//--------------------------------------------------------------------------
type
TForm2 = class(TForm)
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
//----------------------------------------------------------------------------
// 여기에는 두개의 이벤트에서 사용할 몇 가지 사용자 변수가 선언되었습니다.
//----------------------------------------------------------------------------
var
Form2: TForm2;
msX,msY : integer;
implementation
{$R *.DFM}
procedure TForm2.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
//-----------------------------------------------------------------------------
// 마우스가 눌러지면, MsX와 msY변수에 마우스의 폼안에서의 위치를 대입
//-----------------------------------------------------------------------------
MsX := X;
msY := Y;
end;
procedure TForm2.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
r : TRect; // TRect형 변수 선언
begin
r.Left := msx; //msx, msY는 마우스Down시 기억시켜놨던, 폼안에서의 마우스의
r.Top := msY; //x,y좌표를 다시, TRect변수에 대입하고
r.Bottom := Y; //마우스가 up했을때의 폼안에 마우스의 위치를 대입
r.Right := X;
Canvas.Pen.Color := clBlack; //캔버스의 펜 색깔을 검정으로
if RadioButton1.Checked then //라됴버튼1체크시엔
begin //원그리기..
canvas.Brush.Color := clBlue; //붓색깔을 파랑색으로설정하고
Canvas.Ellipse(r); //캔버스에 타원을 그려라.
end
else //버튼2가 눌러졌을때는
begin //네모그리기..
canvas.Brush.Color := clRed; //붓색깔을 빨강색으로 설정하고
Canvas.Rectangle(msX,msY,X,Y); //사각형을 그려라
canvas.FloodFill(x,y,clmenu,fsSurface ); //지정영역을 지정된 스타일로 색칠하라.
end;
죄송합니다. 컴맹님 제가 답변을 해서.. 혹시 실례가 안되었을런지 몰겠슴다.
지나가다 걍 제가 적었습니다.
0
0
삭제
수정
댓글
컴맹
•
2000.11.15 18:13
죄송이라니요...
감사드리구여..
여기서 제대로된 그림을 그리기 위해서는 ...
또 다른 버퍼가 하나 있어야 하지요...
그게 필요하다면 소스를 만들어 드리지요...
그럼 이만...
Mr.Q wrote:
> peny wrote:
> > 죄송합니다 제가 초보라서 어디에 어떻게 소스를 넣어야 할지 모르겠습니다.
> > 그리고 콤퍼넌트는 어떻게 만들었는지도 모르겠구요 간단한 주석이나 조금 쉽게 설명을
> > 해주셨으면 합니다. 정말 감사합니다/unit Unit2;
>
> interface
>
> uses
> Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
> StdCtrls;
>
> //--------------------------------------------------------------------------
> // 폼에 라디오버튼을 2개를 올려놓고, 폼마우스이벤트가 선언되었네요.
> //--------------------------------------------------------------------------
> type
> TForm2 = class(TForm)
> RadioButton1: TRadioButton;
> RadioButton2: TRadioButton;
> procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
> Shift: TShiftState; X, Y: Integer);
> procedure FormMouseUp(Sender: TObject; Button: TMouseButton;
> Shift: TShiftState; X, Y: Integer);
> procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
> Y: Integer);
> private
> { Private declarations }
> public
> { Public declarations }
> end;
>
> //----------------------------------------------------------------------------
> // 여기에는 두개의 이벤트에서 사용할 몇 가지 사용자 변수가 선언되었습니다.
> //----------------------------------------------------------------------------
>
> var
> Form2: TForm2;
> msX,msY : integer;
> implementation
>
> {$R *.DFM}
>
> procedure TForm2.FormMouseDown(Sender: TObject; Button: TMouseButton;
> Shift: TShiftState; X, Y: Integer);
> begin
> //-----------------------------------------------------------------------------
> // 마우스가 눌러지면, MsX와 msY변수에 마우스의 폼안에서의 위치를 대입
> //-----------------------------------------------------------------------------
> MsX := X;
> msY := Y;
> end;
>
> procedure TForm2.FormMouseUp(Sender: TObject; Button: TMouseButton;
> Shift: TShiftState; X, Y: Integer);
> var
> r : TRect; // TRect형 변수 선언
> begin
>
> r.Left := msx; //msx, msY는 마우스Down시 기억시켜놨던, 폼안에서의 마우스의
> r.Top := msY; //x,y좌표를 다시, TRect변수에 대입하고
> r.Bottom := Y; //마우스가 up했을때의 폼안에 마우스의 위치를 대입
> r.Right := X;
> Canvas.Pen.Color := clBlack; //캔버스의 펜 색깔을 검정으로
> if RadioButton1.Checked then //라됴버튼1체크시엔
> begin //원그리기..
>
> canvas.Brush.Color := clBlue; //붓색깔을 파랑색으로설정하고
> Canvas.Ellipse(r); //캔버스에 타원을 그려라.
> end
> else //버튼2가 눌러졌을때는
> begin //네모그리기..
>
> canvas.Brush.Color := clRed; //붓색깔을 빨강색으로 설정하고
>
> Canvas.Rectangle(msX,msY,X,Y); //사각형을 그려라
> canvas.FloodFill(x,y,clmenu,fsSurface ); //지정영역을 지정된 스타일로 색칠하라.
> end;
>
>
>
> 죄송합니다. 컴맹님 제가 답변을 해서.. 혹시 실례가 안되었을런지 몰겠슴다.
> 지나가다 걍 제가 적었습니다.
>
>
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
왕초보
2000.11.15 16:06
0
COMMENTS
/
0
LIKES
TQuickRepPrn 콤포넌트 인스톨이 안됩니다..
db초보
•
2000.11.15 14:10
1
COMMENTS
/
0
LIKES
원격 db서버에 이미지를 저장 하려면 어떻게 하죠?
db초보
•
2000.11.16 10:22
뜨아..죄송.해결 했네욥..넘 간단한 걸 가지고.. network이용해서 파일 복사 하니 되네엽..헐.. db초보...
volf
•
2000.11.15 11:10
2
COMMENTS
/
0
LIKES
서버소켓이 클라이언트 소켓의 접속을 끊는 방법??
김상호
•
2000.11.15 16:55
serversocket1.socket.connection[x].close 라고 하면 될것 같은데 한번 해보세요. 여기서 x 는 끊으려고...
테라플롭스
•
2000.11.18 22:35
''''''''''''''''''''''''''''''''''''' 헉헉헉...................... procedure TForm1.Edit1KeyDown(S...
껄떡쇠
•
2000.11.15 10:42
1
COMMENTS
/
0
LIKES
트리뷰에다 Drag&Drop시 TreeView스크롤시키기
김경식
•
2000.11.16 01:55
껄떡쇠 wrote: > 트리뷰에다 드래그&드롭을 하려는데 트리뷰가 X만 해가지고서리... > 윈도우즈탐색기처...
아기코알라
•
2000.11.15 08:43
4
COMMENTS
/
0
LIKES
DataBase Desktop 실행관련
coolling
•
2000.11.15 18:17
BDE 즉, 볼랜드 데이터베이스 엔진이 다른 PC에 설치되지 않아서 그렇습니다. BDE 설치는 해당 폴더만 복...
Mr.Q
•
2000.11.15 08:51
아기코알라 wrote: > 이런거 질문 해도 될런지 모르겠는데 해결해야 할 문제라서 올립니다. > > 장비관...
아기코알라
•
2000.11.15 17:27
Mr.Q 님 정말 고맙습니다. 여러가지로 도와주시네요.. 이 은혜 어떻게 갑아야 할지 모르겠네요.. Q님 ...
Mr.Q
•
2000.11.15 23:24
흐.. 그렇게 하심 안되구요. 인스톨쉴드사용하세요. 델파이5엔터프라이즈버전안에는 있는데.. 인스톨...
윤종필
•
2000.11.15 19:44
2
COMMENTS
/
0
LIKES
C++ dll 호출시 PChar 값을 어떻게 얻어요?
타락천사
•
2000.11.15 20:47
안녕하세여..타락임다..^^ 파라미터 중에 var를 빼보세여..^^ 즐푸하세여..^^ 타락천사.... 윤...
윤종필
•
2000.11.16 03:43
var을 빼고 해도 결과가 같습니다. 타락천사 wrote: > 안녕하세여..타락임다..^^ > > 파라미터 중...
신강
•
2000.11.15 18:11
2
COMMENTS
/
0
LIKES
퍼즐 게임 제작
Mr.Q
•
2000.11.15 18:11
신강 wrote: > 안녕하세요... > 저 또 들어 왔어요... > 밑에 보시면 아시겠지만 지금 제가 퍼즐 겜을 ...
신강
•
2000.11.15 20:19
델파이 정보라는 책에 있다고요.. 음..참고 하겠습니다 감사 합니다^^*
남주희
•
2000.11.15 07:47
1
COMMENTS
/
0
LIKES
table.append 할때 table명을 변수로?
허춘
•
2000.11.15 13:43
남주희 wrote: > > table이 12개 있습니다. > > 이때 편집버튼을 1줄에서 해결하려고 합니다. > 즉 ...
뻐록이
•
2000.11.15 06:49
1
COMMENTS
/
0
LIKES
시스템 윈도우즈에 디렉토리는 알아내는 API함수좀 가르쳐 주세여^^
HD
•
2000.11.15 07:16
윈도우 디렉토리를 반환하는 함수는 GetWindowsDirectory 입니다. 윈도우 시스템 디렉토리를 반환하는 ...
궁금이
•
2000.11.15 06:17
1
COMMENTS
/
0
LIKES
델파이 3에서 SMTP를 사용하여 첨부파일 추가하기
컴맹
•
2000.11.15 18:31
델파이에 기본으로 들어있는 데모를 참고하세여... 참고로..(C:Program FilesBorlandDelphi5DemosFastNe...
주범수
•
2000.11.15 05:52
8
COMMENTS
/
0
LIKES
TCP-IP 접속자수
volf
•
2000.11.15 06:22
주범수
•
2000.11.15 10:05
김상호
•
2000.11.15 16:31
주범수
•
2000.11.15 18:05
김상호
•
2000.11.16 08:35
주범수
•
2000.11.16 18:04
김상호
•
2000.11.18 05:56
• • •
won
•
2000.11.15 05:16
1
COMMENTS
/
0
LIKES
TQuery 2개로 마스터/디테일 이렇게 하는게 맞나요?
허춘
•
2000.11.15 13:47
won wrote: > QryClient가 AfterScroll 이벤트에요 --------------------------------------- Assuming ...
조대승
2000.11.15 05:36
0
COMMENTS
/
0
LIKES
C/S에서 클라이언트 접속 후 잠시 후 kernel DLL과 스택 덤프 에러..
poteau
•
2000.11.15 05:33
2
COMMENTS
/
0
LIKES
TEdit에서 입력한 데이터를 ListView에서 찾아 포커스로 표시하려면?
컴맹
•
2000.11.15 19:45
간단하게 만들어 봤습니다.. 요렇게 하면 됩니다.. var i :Integer; ss : TListItem; begin ...
강인규
•
2000.11.15 06:12
리스트뷰에 HideSelection이란 프로퍼티가 있습니다. fasle해주심 됩니다. 즐프하세여~~ poteau wrote...
peny
•
2000.11.15 05:37
4
COMMENTS
/
0
LIKES
마우스 드래그할 때 지정된 도형이 그려지도록 하려면?
마우스로 드래그해서 나타나는 도형의 색갈이 들어가도록해야 합니다 버튼을 만들어서 사각형과 원 을 체크할수있는 버튼이어야 합니다 그래서 사각형을 체크해서 마우스로 드래그하면 사각형이 그려지면서 색깔이 들어가는 것을 만들어야...
컴맹
•
2000.11.15 05:39
짧게 한번 만들어 봤는데여.. 대충 이런걸 말씀 하시는 건가여... unit Unit2; interface uses ...
peny
•
2000.11.15 08:25
죄송합니다 제가 초보라서 어디에 어떻게 소스를 넣어야 할지 모르겠습니다. 그리고 콤퍼넌트는 어떻게 만...
Mr.Q
•
2000.11.15 14:48
peny wrote: > 죄송합니다 제가 초보라서 어디에 어떻게 소스를 넣어야 할지 모르겠습니다. > 그리고 콤...
컴맹
•
2000.11.15 18:13
죄송이라니요... 감사드리구여.. 여기서 제대로된 그림을 그리기 위해서는 ... 또 다른 버퍼가 하나 있...
호야
•
2000.11.15 03:56
1
COMMENTS
/
0
LIKES
여러폼에서 쓸 함수를 만들려고 합니다.
Azurei
•
2000.11.15 04:09
호야 wrote: > 여러폼에서 쓸 함수를 만들려면 new에서 unit을 써야겠죠? > 한번도 해본적이 없어서... ...
조헌철
•
2000.11.15 03:55
2
COMMENTS
/
0
LIKES
컴포넌트를 죽였다가 살리는 방법???
타락천사
•
2000.11.15 20:54
안녕하세여.. 타락임다..^^ 젤 편한 방법이.. procedure TForm1.Button1Click(Sender : TObject);...
Mr.Q
•
2000.11.15 09:31
조헌철 wrote: > 파넬위에 있는 mediaplayer 컴포넌트를 죽였다가 살리려고 하려면 어떻게 하는지 > 아시...
click
2000.11.15 05:38
0
COMMENTS
/
0
LIKES
서버 프로그램 종료 시 에러 발생(On API 'WSACleanup')
참한나그네
2000.11.15 03:05
0
COMMENTS
/
0
LIKES
폼이동은 어께하나..
장동민
2000.11.15 02:22
0
COMMENTS
/
0
LIKES
MDI폼에서 모두 저장하기 기능을 만들고 싶습니다. 도와주세요!
peny
2000/11/15 05:37
Views
272
Likes
0
Comments
4
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
대충 이런걸 말씀 하시는 건가여...
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm2 = class(TForm)
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
msX,msY : integer;
implementation
{$R *.DFM}
procedure TForm2.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
MsX := X;
msY := Y;
end;
procedure TForm2.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
r : TRect;
begin
r.Left := msx;
r.Top := msY;
r.Bottom := Y;
r.Right := X;
Canvas.Pen.Color := clBlack;
if RadioButton1.Checked then
begin //원그리기..
canvas.Brush.Color := clBlue;
Canvas.Ellipse(r);
end
else
begin //네모그리기..
canvas.Brush.Color := clRed;
Canvas.Rectangle(msX,msY,X,Y);
canvas.FloodFill(x,y,clmenu,fsSurface );
end;
end;
procedure TForm2.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
r : TRect;
begin
if shift = [ssLeft] then
begin
r.Left := msx;
r.Top := msY;
r.Bottom := Y;
r.Right := X;
Canvas.Brush.Color := clmenu;
Canvas.Pen.Color := clwhite;
Refresh;
if RadioButton1.Checked then
begin
Canvas.Ellipse(r);
end
else
begin
Canvas.Rectangle(msX,msY,X,Y);
end;
end;
end;
end.
peny wrote:
> 마우스로 드래그해서 나타나는 도형의 색갈이 들어가도록해야 합니다
> 버튼을 만들어서 사각형과 원 을 체크할수있는 버튼이어야 합니다
> 그래서 사각형을 체크해서 마우스로 드래그하면 사각형이 그려지면서 색깔이
> 들어가는 것을 만들어야 합니다. 또는 원을 체크해서 드래그 하
> 면 원이 그려지면서 색깔이 있는 원을 나타내는 뭐 이런것
> 입니다, 제발좀 가르쳐 주시길 바랍니다.