C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[53462] Re:TCppWebBrowser의 기본 스크롤 없애는 방법
이평섭 [wanglung] 2920 읽음    2008-05-22 10:27
김형기 님이 쓰신 글 :
: TCppWebBrowser 콤포넌트를 사용하여 아주 간단한 웹사전(네이버사전으로 링크)을 만들어보았는데요
: 실행시켜서 단어를 검색 하면 브라우저 폼이 뜨는데 맨 오른쪽에 보면 하늘색의 스크롤 바가 나타납니다...
: 웹페이지 안에 또 다른 스크롤바가 있는데 그건 iframe같은것을 이용해서 그런거 같구요...
: 제가 없애고 싶은건 기본으로 나오는 하늘색 스크롤 바 입니다.
: 콤포넌트 속성에도 없는데 어떻게 없애야 하나요...고민입니다...색상으로 보아 윈도우 기본 스크롤 바도 아닌것이
: 묘하네요...

관련된 처리를 하고 있는 터에 도움이 될까하여 답글을 달아 봅니다.

스크롤바가 브라우저에 생기는 경우를  Internet Explorer(버전 6) 에서 몇가지 테스트를 해 보면서 방법을 찾아 보았습니다.

예를 들면, www.google.co.kr 을 접속하면 Internet Explorer의 오른편에 스크롤바가 생기기는 하지만 스크롤은 되지 않더군요.

그래서 브라우저 창 크기를 내용보다 작게 줄여 보았습니다.
가로, 세로 모두를 내용보다 줄여보니 그제서야 가로, 세로 스크롤바가 나타나고 스크롤이 되었습니다.

이것으로 보면 브라우저 창의 크기보다 내용이 길거나 넓으면 브라우저 창의 스크롤바가 활성화 되거나 나타나는 것을 알수 있습니다.

브라우저의 내용은 html로 만들어지니 html 태그 중 스크롤바 처리 태그가 있는지를 살펴보았습니다.

찾아보니 body 태그의 속성 중에 scroll 이 있더군요.
body scroll="no" 로 하면 바디의 스크롤바가 보이지 않는 군요.

결론은 TCppWebBrowser 에서 DOM를 이용하여 body 요소까지 접근해서 body 요소의 scroll 속성을 no 로 설정하면 Internet Explorer에서 스크롤 바를 보이지 않게 할 수 있는 것입니다.

한가지 팁은 브라우저에 html이 모두 로딩된 이후에야 브라우저가 스크롤바를 생기게 할지 말지를 결정해야 하니,
DocumentComplete 이벤트에서 위의 처리를 해야 스크롤바를 확실하게 조절할 수 있습니다.

www.devpia.com 를 살펴보니 비슷한 질문에 대한 구현코드가 들어 있네요.

http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=50&MAEULNo=20&no=653377&ref=653366

+ -

관련 글 리스트
53461 TCppWebBrowser의 기본 스크롤 없애는 방법 김형기 1377 2008/05/21
53462     Re:TCppWebBrowser의 기본 스크롤 없애는 방법 이평섭 2920 2008/05/22
53470         감사합니다... 김형기 1502 2008/05/22
53685             Re:저는 왜 안될까요 ? 신입사원 1136 2008/06/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.