Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
ActiveForm 에 잔상이..ㅠ.ㅠ
안녕하세요
익스플로러에 추가시키고 스크롤을 밑으로 내리면 activeform 이 막 잔상이 일어납니다.(페이지가 넘어가서 스크롤이 생길때)
어찌해야 좋을까요?
도움 부탁드리겠습니다.
2
COMMENTS
최석기
•
2002.08.14 01:20
출처 : 마이크로소프트 2000년 6월호 Delphi Tip
(질문) 델파이로 ActiveX 폼을 웹브라우저에서 로드해 사용할때 웹브라우저의 스크롤바위로 ActiveX 폼이 올라오는 현상등, ActiveX 위의 화면 단절 현상등 문제가 발생할때 해결방법??
(답변전문)
델파이 4에서는 ActiveForm이 웹브라우저 보다 클 경우 웹브라우저 보다 클 경우 웹브라우저의 스크롤바 위로 ActiveXForm이 올라오는 기이한 문제가 발생했었습니다.
그래서 델파이5에서는 이 문제를 고치기 위한 코드를 추가됐는데요, 아쉽게도 이것에도 문제가 있습니다.
웹페이지를 스크롤했을 경우 ActiveXForm의 painting에 문제가 생겨서 화면이 모두 깨지는 아주 심각한 문제 입니다.
현재 나와 있는 델파이 5의 패치판에서도 이 문제점은 여전히 해결되지 않고 있는 실정입니다.
인프라이즈에서 해결해주지 않는 이상 이 문제는 직접 해결을 해야 하는 문제가 되고 말았습니다.
하지만 그리 어렵지 않게 이 Painting 오류를 수정할 수 있습니다.
이 문제를 직접 해결하기 위해서는 델파이의 /Source 디렉토리에 있는 AxCtrls.pas를 직접 수정해줘야 합니다.
AxCtrls.pas 에서 SetObjectRects란 함수를 찾아서 다음에 표시된 부분을 추가해 줍니다.
function TActiveXControl.SetObjectRects(const rcPosRect: TRect;
const rcClipRect: TRect) : HResult;
var
try
IntersectRect(WinRect, rcPosRect, rcClipRect);
// 여기서부터 추가할 부분
WinRect := Bounds(rcPosRect.left,
rcPosRect.Top,
WinRect.Right-WinRect.Left+rcClipRect.Left-rcPosRect.Left,
WinRect.Bottom-WinRect.Top+rcClipRect.Top-rcClipRect.Top);
// 여기까지
FWinControl.BoundsRect := WinRect;
Result := S_OK;
except
Result := HandleException;
end;
end;
추가가 끝나면 이 AxCtrls.pas 만 다시 컴파일해서 델파이의 /Lib 디렉토리에 넣어 둡니다. 이렇게 하면 델파이로 제작된 ActiveXForm이 있는 웹페이지를 스크롤했을 때 발생했던 문제를 해결할 수 있습니다.
=============================================================
이상이 원문입니다.
AxCtrls.pas 파일을 재 컴파일 하는 방법을 정석은 아직 모르겠네요... ^^;
일단은 다른 방법으로 해도 문제가 없이 다시 적용이 되더군요..
우선, /Source 아래에서 수정한 AxCtrls.pas 파일을 /Lib 디렉토리로 복사 합니다.
그런뒤, /Lib 아래에 존재하는 AxCtrls.dcu 파일이 있으면 삭제해 줍니다.
그런뒤, 기존에 있던, ActiveXFormProject 나 NewActiveXProject 를 하나 컴파일 하게 되면..
델파이가 알아서 AxCtrls.pas 파일을 컴파일하여 주더군요...
/Lib 디렉토리아래에 AxCtrls.dcu 파일이 새로 생성되어 있음을 확인할 수 있습니다.
음.. 위의 파일은 원래 제공되는 VCL 파일에서 모든 프로젝트에 미치는 영향이 있어서 저렇게 해 주는거지만..
특정한 프로젝트에서만 발생되는 경우라면, 해당 프로젝트 폴더에 수정한 pas 파일을 복사해서 컴파일 하면 우선은 소스 디렉토리에 있는 pas 를 읽기 때문에 적용이 될수도 있겠지요.......
그럼.. 참고가 되었으면 좋겠네요........
0
0
삭제
수정
댓글
악마[영인]
•
2002.08.14 01:45
답변에 너무나도 감사드립니다.
사실 이런부분은 노하우가 없으면 정말 해결하기 힘든데...
다시한번 진심으로 감사드립니다. 덕분에 프로젝트의 마지막을 잘 장식할수 있을것 같습니다.
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
김진아
•
2002.08.14 07:05
1
COMMENTS
/
0
LIKES
Screen.Cursor 모양 유지하기
최용일
•
2002.08.14 19:31
안녕하세요. 최용일입니다. 상관이 있습니다. 그 호출하는 함수에서 커서를 바꾸면 님보다 그쪽에서 설...
안원용
•
2002.08.14 06:01
2
COMMENTS
/
0
LIKES
Sort 가능한 Grid를 찾습니다~^^*
이추형
•
2002.08.14 18:22
고생이 많으십니다. DBGrid에서 타이틀을 클릭시 Sort하도록 만들었던 겁니다. 참조하시기 바랍니다. ...
박상기
•
2002.08.14 13:11
AdvStringGrid를 쓰시는게 어떨지요? 물론 Free입니다..구입하면 소스를 제공합니다. 기능은 약간 떨어지...
델사랑
•
2002.08.14 04:05
1
COMMENTS
/
0
LIKES
MDB ODBC안쓰고 연결 안되나요?
개미
•
2002.08.14 04:32
ODBC 안쓰고도 잘. 됩니다 전 BDE 로 하다 결국 ADO로 바꾸었져. 요렇게 해보심... 저두.얼마...
nilriri™
•
2002.08.14 03:59
1
COMMENTS
/
0
LIKES
MS_SQL에서 한글 한자의 길이를 2로 리턴하는 함수??
nilriri™
•
2002.08.15 05:37
그건 datalength() 인데요.. 그럼 substring을 바이트 단위로 처리하는건 없을까요? 오라클의 substr...
정용진
•
2002.08.14 03:35
2
COMMENTS
/
0
LIKES
BDE-oracle 연결시 'hostdef 확장이 존재하지 않습니다' 에러메시지
이창환
•
2002.08.22 02:20
혹시.. Autoexec.bat화일이 바뀌어서 Oracle Home경로가 잡히지 않은 것은 아닌지.. 체크하심이 어떨지..^^...
이추형
•
2002.08.14 03:54
네트웍이 좋지 않은건 아닐까요? 저희도 가끔 네트웍이 끊겼을때... HUB 나 등등의 문제로 이런 에러가 ...
델파이사랑
•
2002.08.14 03:31
2
COMMENTS
/
0
LIKES
TChart의 PieChart에서.....
홍성락
•
2002.08.14 03:58
hsr////////////////////////////////////////////////////////////// 아래 이벤트를 OnClickSeries사용해...
델파이사랑
•
2002.08.14 08:45
감사합니다....냉무...^^
박영수
•
2002.08.14 03:23
2
COMMENTS
/
0
LIKES
csv파일로 된 데이타를 paradox DB로 변환을 하고 싶습니다.
미소나눔
•
2002.08.14 08:48
CSV 파일을 변환할라면 MS-ACCESS 를 이용하면 될듯.. ACCESS에서 팝업메뉴-가죠오기-텍스트파일(*....
박영수
•
2002.08.14 19:39
답변고맙습니다. 하지만 저는 이것을 프로그램적으로 구현을 해야 하거등요. 제가 질문을 잘 못한것 같...
정웅기
2002.08.14 02:47
0
COMMENTS
/
0
LIKES
AdvStringgrid V.6에서요?
아폴론
•
2002.08.14 02:25
1
COMMENTS
/
0
LIKES
콤보박스에 힌트보이기..
김종화
•
2002.08.15 06:35
우선 콤보박스의 ShowHint 속성을 true 로 하시고 procedure TForm1.ComboBox1Change(Sender: TObject...
손창호
•
2002.08.14 02:03
1
COMMENTS
/
0
LIKES
Undeclared identifier: 'HelpJump'
이창환
•
2002.08.17 06:03
질문만 봐서는 정확히 어떻다고 설명하기는 힘들지만.. HelpJump가 선언이 안 되었다는 오류인데.. 참고...
해삼과멍게
2002.08.14 01:59
0
COMMENTS
/
0
LIKES
동영상 파일생성시...문제점.
김기현
•
2002.08.14 01:39
3
COMMENTS
/
0
LIKES
NMFtp C/S 환경에서는 사용할수없는 것입니까?
김명석
•
2002.08.14 08:52
기현씨 NMFtp가 뭐예여?
나옹이
•
2002.08.14 11:37
델파이의 FastNet 텝에 있는 컴포넌트 입니다. &n...
김기현
•
2002.08.16 20:21
나옹이님 답글감사합니다.. 근데.. 이상한에러가 나요.. 제가 무슨설정을 잘못한것이지.. 에러는(class...
이민호
2002.08.14 00:22
0
COMMENTS
/
0
LIKES
TClientDataSet 을 사용하려면?
악마[영인]
•
2002.08.14 00:22
2
COMMENTS
/
0
LIKES
ActiveForm 에 잔상이..ㅠ.ㅠ
안녕하세요 익스플로러에 추가시키고 스크롤을 밑으로 내리면 activeform 이 막 잔상이 일어납니다.(페이지가 넘어가서 스크롤이 생길때) 어찌해야 좋을까요? 도움 부탁드리겠습니다.
최석기
•
2002.08.14 01:20
출처 : 마이크로소프트 2000년 6월호 Delphi Tip (질문) 델파이로 ActiveX 폼을 웹브라우저에서 ...
악마[영인]
•
2002.08.14 01:45
답변에 너무나도 감사드립니다. 사실 이런부분은 노하우가 없으면 정말 해결하기 힘든데... 다시한번 진...
델파이사랑
•
2002.08.14 00:18
1
COMMENTS
/
0
LIKES
쿼리한 결과를 HintWindow에 보이고 싶습니다...
미소나눔
•
2002.08.14 08:33
procedure TForm1.Button1Click(Sender: TObject); begin Query1.First;  ...
곰다방~미스김
•
2002.08.13 23:55
1
COMMENTS
/
0
LIKES
dateTimePicker를 펼쳐논 상태로 볼수 있는 방법....
최은석
•
2002.08.14 00:20
dateTimePicker를사용하는 대신에 MonthCalendar 컴포넌트를 사용하시는 것은 어떨지...
소리새
2002.08.13 23:54
0
COMMENTS
/
0
LIKES
3개의 텍스트 파일을 하나로 합치는 p/g요망
수서니
•
2002.08.13 22:59
1
COMMENTS
/
0
LIKES
자료등록하려할때 DBEdit 에 이상한 모양이 나오네요...
곰다방~미스김
•
2002.08.13 23:08
edtYears.text := FormatDateTime('yyyymmdd',now) 하시면 되구염.... 이상하게 들어가는건 잘 모르겠네...
김세형
2002.08.13 22:15
0
COMMENTS
/
0
LIKES
가상아이피는 왜 못찾아줄깡?
이병성
•
2002.08.13 21:32
1
COMMENTS
/
0
LIKES
콤보박스 <=> 디비그리드 간에 자료 넣기
김종화
•
2002.08.14 01:14
DBLookUpComboBox 컴포넌트를 사용하시는게 어떠신지요....
악마[영인]
2002/08/14 00:22
Views
554
Likes
0
Comments
2
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
(질문) 델파이로 ActiveX 폼을 웹브라우저에서 로드해 사용할때 웹브라우저의 스크롤바위로 ActiveX 폼이 올라오는 현상등, ActiveX 위의 화면 단절 현상등 문제가 발생할때 해결방법??
(답변전문)
델파이 4에서는 ActiveForm이 웹브라우저 보다 클 경우 웹브라우저 보다 클 경우 웹브라우저의 스크롤바 위로 ActiveXForm이 올라오는 기이한 문제가 발생했었습니다.
그래서 델파이5에서는 이 문제를 고치기 위한 코드를 추가됐는데요, 아쉽게도 이것에도 문제가 있습니다.
웹페이지를 스크롤했을 경우 ActiveXForm의 painting에 문제가 생겨서 화면이 모두 깨지는 아주 심각한 문제 입니다.
현재 나와 있는 델파이 5의 패치판에서도 이 문제점은 여전히 해결되지 않고 있는 실정입니다.
인프라이즈에서 해결해주지 않는 이상 이 문제는 직접 해결을 해야 하는 문제가 되고 말았습니다.
하지만 그리 어렵지 않게 이 Painting 오류를 수정할 수 있습니다.
이 문제를 직접 해결하기 위해서는 델파이의 /Source 디렉토리에 있는 AxCtrls.pas를 직접 수정해줘야 합니다.
AxCtrls.pas 에서 SetObjectRects란 함수를 찾아서 다음에 표시된 부분을 추가해 줍니다.
function TActiveXControl.SetObjectRects(const rcPosRect: TRect;
const rcClipRect: TRect) : HResult;
var
try
IntersectRect(WinRect, rcPosRect, rcClipRect);
// 여기서부터 추가할 부분
WinRect := Bounds(rcPosRect.left,
rcPosRect.Top,
WinRect.Right-WinRect.Left+rcClipRect.Left-rcPosRect.Left,
WinRect.Bottom-WinRect.Top+rcClipRect.Top-rcClipRect.Top);
// 여기까지
FWinControl.BoundsRect := WinRect;
Result := S_OK;
except
Result := HandleException;
end;
end;
추가가 끝나면 이 AxCtrls.pas 만 다시 컴파일해서 델파이의 /Lib 디렉토리에 넣어 둡니다. 이렇게 하면 델파이로 제작된 ActiveXForm이 있는 웹페이지를 스크롤했을 때 발생했던 문제를 해결할 수 있습니다.
=============================================================
이상이 원문입니다.
AxCtrls.pas 파일을 재 컴파일 하는 방법을 정석은 아직 모르겠네요... ^^;
일단은 다른 방법으로 해도 문제가 없이 다시 적용이 되더군요..
우선, /Source 아래에서 수정한 AxCtrls.pas 파일을 /Lib 디렉토리로 복사 합니다.
그런뒤, /Lib 아래에 존재하는 AxCtrls.dcu 파일이 있으면 삭제해 줍니다.
그런뒤, 기존에 있던, ActiveXFormProject 나 NewActiveXProject 를 하나 컴파일 하게 되면..
델파이가 알아서 AxCtrls.pas 파일을 컴파일하여 주더군요...
/Lib 디렉토리아래에 AxCtrls.dcu 파일이 새로 생성되어 있음을 확인할 수 있습니다.
음.. 위의 파일은 원래 제공되는 VCL 파일에서 모든 프로젝트에 미치는 영향이 있어서 저렇게 해 주는거지만..
특정한 프로젝트에서만 발생되는 경우라면, 해당 프로젝트 폴더에 수정한 pas 파일을 복사해서 컴파일 하면 우선은 소스 디렉토리에 있는 pas 를 읽기 때문에 적용이 될수도 있겠지요.......
그럼.. 참고가 되었으면 좋겠네요........