Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
다시한번 올립니다..동적 생성시킨 paintbox에서..
제목 그대로입니다.
paintbox를 동적생성시킨 후
onpaint 이벤트를 호출한후 //여기까지는 됐는데..
canvas를 이용해 그래프를 그리려고 하는데..
access violation 메세지가 뜨는데..
어떻게 된거죠?
동적생성시킨 paintbox는 canvas를 인식못하나요?
1
COMMENTS
김영대
•
1999.10.08 20:12
최영란 wrote:
> 제목 그대로입니다.
>
> paintbox를 동적생성시킨 후
> onpaint 이벤트를 호출한후 //여기까지는 됐는데..
>
> canvas를 이용해 그래프를 그리려고 하는데..
> access violation 메세지가 뜨는데..
> 어떻게 된거죠?
> 동적생성시킨 paintbox는 canvas를 인식못하나요?
확실치는 않지만 PaintBox가 생성하기 전에
PaintBox를 참조하는 루틴이 먼저 실행되서 그러지 않을까요?
동적으로 생성된 Object를 참조할때는 Assigned() 를 사용해서
정확히 생성이 되었는지 확인하고 사용하면 에러를 막을 수 있습니다
PaintBox.Canvas 를 사용하는 예제는 아래와 같습니다
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, extctrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
pbox: TPaintBox;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
pBox := TPaintBox.Create(self) ;
pBox.Parent := Form1 ;
pBox.Align := alClient;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
if Assigned(pBox) then
pBox.Free;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
bitMap: TBitmap;
begin
bitMap := TBitmap.Create ;
bitMap.LoadFromFile('Factory.bmp');
try
if Assigned(pBox) then
begin
pBox.Repaint;
pBox.Canvas.StretchDraw(Rect(0,0,pBox.Width,pBox.Height), bitMap);
// 아래는 스트래치를 안한 원본 그림을 그릴때 사용
// pBox.Canvas.Draw(0,0, bitmap);
pBox.Canvas.MoveTo(0,0);
pBox.Canvas.LineTo(50, 50);
end;
finally
bitMap.Free;
end;
end;
end.
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
김순호
•
1999.10.08 21:24
1
COMMENTS
/
0
LIKES
web 프로그램의 시발점은???
최선미
•
1999.10.11 18:34
김순호 wrote: > > web프로그래밍 시작과 완성이란 책을 보세요. 괜찮던데요.. > -------------------...
김순호
•
1999.10.08 21:22
1
COMMENTS
/
0
LIKES
web 서버구축에 관하여...
NiceJJ
•
1999.10.09 00:07
안녕하세요... Delphi 3.0으로도 개발할수 있지만, 제가 해 보니깐.. Delphi 4.0이나 5.0을 사용하시는...
atom
1999.10.08 20:29
0
COMMENTS
/
0
LIKES
AccessDB에서 Create View문제....
이양규
•
1999.10.08 20:16
2
COMMENTS
/
0
LIKES
Query로 삽입시 북마크이용..
이재식
•
1999.10.08 22:00
이양규 wrote: > TQuery컴포넌트 하나로 db에 자료를 삽입한 후에 > 다시 select 하였을 때 방금전에 삽...
김영대
•
1999.10.08 20:55
이양규 wrote: > TQuery컴포넌트 하나로 db에 자료를 삽입한 후에 > 다시 select 하였을 때 방금전에 삽...
고한석
1999.10.08 20:14
0
COMMENTS
/
0
LIKES
김영대님 이것 좀....
이규학
•
1999.10.08 20:06
3
COMMENTS
/
0
LIKES
파일 압출/풀기
이정욱
•
1999.10.09 19:55
한델 (http://www.delphi.co.kr) 자료실에 올라갔습니다. DelZip 입니다. 이규학 wrote: > 파일을 zip...
안치봉
•
1999.10.08 21:23
쩝.. 올리려고 했는데.. 저한테 없네요.. 델파이 수퍼페이지에 가셔서 찾아보시면 있습니다... 저희 지금...
안치봉
•
1999.10.08 21:20
공개컴포넌트도 있고(DelZip) 상용컴포넌트도 있습니다.(Abbrevia 기타등등) 물론 상용에는 기능이 더 많...
남윤혁
•
1999.10.08 18:13
1
COMMENTS
/
0
LIKES
TQuery와 TUpdateSQL을 이용하여 두 테이블 제어?
오승섭
•
1999.10.08 19:19
안녕하십니까? 오승섭입니다. 제가 알고 있기로는 사용자께서 어떤 DB를 사용하는지 모르겠지만 TQuery...
강경중
1999.10.08 15:31
0
COMMENTS
/
0
LIKES
도와 주세요....
허지웅
•
1999.10.08 15:15
1
COMMENTS
/
0
LIKES
웹 상의 ActiveForm에서 다른 페이지 호출은 어떻게?
구창민
•
1999.10.08 18:38
허지웅 wrote: > 자바 애플릿에는 showDocument(URL)이 있습니다. 이를 이용하여 showDocument(new URL(ht...
성희
1999.10.08 11:20
0
COMMENTS
/
0
LIKES
소프트웨어 공학에 관한 문제들
강경범
•
1999.10.08 09:06
3
COMMENTS
/
0
LIKES
쿼리된 필드의 내용을 편집할 순 없을까요?
고규인
•
1999.10.09 06:07
강경범 wrote: > 한 필드(pro_time)에 대해서 정렬하고, pro_time값을 누적해서 다른 필드(com)에 넣고싶...
이주흥
•
1999.10.08 19:38
강경범 wrote: > 한 필드(pro_time)에 대해서 정렬하고, pro_time값을 누적해서 다른 필드(com)에 넣고싶...
박윤종
•
1999.10.08 19:09
강경범 wrote: > 한 필드(pro_time)에 대해서 정렬하고, pro_time값을 누적해서 다른 필드(com)에 넣고싶...
memogi
•
1999.10.08 08:33
1
COMMENTS
/
0
LIKES
파라독스DB질문입니다..꼭 봐주세요??
이재식
•
1999.10.08 19:37
memogi wrote: > 안녕하세요... > 또..질문이 생겼거든요.. > 그전부터 궁금했었던건데요... > 만약에 ...
장대광
•
1999.10.08 06:58
1
COMMENTS
/
0
LIKES
런처바(도구모음툴바) 만드는 방법
김영대
•
1999.10.08 19:25
장대광 wrote: > 안녕하세요.. > > 런처바(도구모음툴바)를 만들려고 하는데 도무지 감을 잡을수가 없...
강민주
•
1999.10.08 06:51
1
COMMENTS
/
0
LIKES
TList에서 Sort()함수 사용법?
구창민
•
1999.10.08 19:09
강민주 wrote: > 안녕하세요. ^^; > > mdir같은 파일관리 프로그램을 만들려고 > TList로 파일리스트...
서영재
•
1999.10.08 05:02
1
COMMENTS
/
0
LIKES
파일에서 토큰을 이용해서 단어를 가져오는 함수나 프로시져가 없습니까
김영대
•
1999.10.08 19:33
서영재 wrote: > c나 java같은 언어는 토큰을 이용해서 파일에서 > 단어들을 가져올 수 있는 함수가 있는...
정은경
1999.10.08 04:36
0
COMMENTS
/
0
LIKES
copy error
DIP
1999.10.08 04:30
0
COMMENTS
/
0
LIKES
TFTP 사용 후, 종료 시 프로그램 Down ...
최영란
•
1999.10.08 03:21
1
COMMENTS
/
0
LIKES
다시한번 올립니다..동적 생성시킨 paintbox에서..
제목 그대로입니다. paintbox를 동적생성시킨 후 onpaint 이벤트를 호출한후 //여기까지는 됐는데.. canvas를 이용해 그래프를 그리려고 하는데.. access violation 메세지가 뜨는데.. 어떻게 된거죠? 동적생성시킨 paintbox는 canvas를 ...
김영대
•
1999.10.08 20:12
최영란 wrote: > 제목 그대로입니다. > > paintbox를 동적생성시킨 후 > onpaint 이벤트를 호출한후 ...
junyes
•
1999.10.08 03:03
1
COMMENTS
/
0
LIKES
stringGrind에 출력되는 데이타만큼 그리드를 자동으로 이동되게
김영대
•
1999.10.08 19:29
junyes wrote: > 조회 화면에서 조회 키를 누르게 되면 죄회된 데이터 만큼 자동으로 스크롤바 > 가 아래...
DogSeller
1999.10.08 02:17
0
COMMENTS
/
0
LIKES
internet프로그램에서 문제점이 생김
최영란
1999/10/08 03:21
Views
454
Likes
0
Comments
1
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> 제목 그대로입니다.
>
> paintbox를 동적생성시킨 후
> onpaint 이벤트를 호출한후 //여기까지는 됐는데..
>
> canvas를 이용해 그래프를 그리려고 하는데..
> access violation 메세지가 뜨는데..
> 어떻게 된거죠?
> 동적생성시킨 paintbox는 canvas를 인식못하나요?
확실치는 않지만 PaintBox가 생성하기 전에
PaintBox를 참조하는 루틴이 먼저 실행되서 그러지 않을까요?
동적으로 생성된 Object를 참조할때는 Assigned() 를 사용해서
정확히 생성이 되었는지 확인하고 사용하면 에러를 막을 수 있습니다
PaintBox.Canvas 를 사용하는 예제는 아래와 같습니다
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, extctrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
pbox: TPaintBox;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
pBox := TPaintBox.Create(self) ;
pBox.Parent := Form1 ;
pBox.Align := alClient;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
if Assigned(pBox) then
pBox.Free;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
bitMap: TBitmap;
begin
bitMap := TBitmap.Create ;
bitMap.LoadFromFile('Factory.bmp');
try
if Assigned(pBox) then
begin
pBox.Repaint;
pBox.Canvas.StretchDraw(Rect(0,0,pBox.Width,pBox.Height), bitMap);
// 아래는 스트래치를 안한 원본 그림을 그릴때 사용
// pBox.Canvas.Draw(0,0, bitmap);
pBox.Canvas.MoveTo(0,0);
pBox.Canvas.LineTo(50, 50);
end;
finally
bitMap.Free;
end;
end;
end.