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
[52511] Re:Re: 부분답변 DOCTYPE
장성호 [nasilso] 1290 읽음    2008-03-03 15:55
감사합니다.

정말 알고 싶은것은 두번째 질문인
scrollbar의 위치를 못구하는 경우의 해결책인데...

혹 좋은방법있으면 부탁드립니다.


허정주 님이 쓰신 글 :
: 말 그대로 문서 타입 선언부입니다.
: HTML 4.01 문서라고 명시해 놓은 것이지요.
: 보통 버젼과 함께 strict, traditional, frameset 과 DTD 파일 URI 를 명시하게 되는데 저렇게도 맞는지는 모르겠네요.
: (아마 저 태그는 IE에서 틀려도 상관없을 듯)
:
: 관련정보링크: http://blog.naver.com/focusjweb?Redirect=Log&logNo=70028108210
:
:
: 장성호 님이 쓰신 글 :
: : 안녕하세요
: : 좋은 하루 되세요
: :
: : TCppWebBrowser로 scrollbar 를 제어하고 있습니다.
: : scrollbar의 위치를 가져오고 설정하고...
: :
: : 팁게시판에 김태선님이 올려놓으신 팁을 이용했습니다.
: : http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tip&no=575 
: : http://www.codeproject.com/miscctrl/scrollbrowser.asp
: :
: : long __fastcall TZWebMain::GetScrollHei(TCppWebBrowser *CppWebBrowser)
: : {
: :  HRESULT hr;
: :
: :  IDispatch *pDisp = CppWebBrowser->Document;
: :  if(pDisp==NULL )return 0;
: :
: :  // get document interface
: :  ::IHTMLDocument2 *pDocument = NULL;
: :  hr = pDisp->QueryInterface( ::IID_IHTMLDocument2, (void**)&pDocument );
: :  if(!SUCCEEDED( hr ))return 0;
: :  if(pDocument==NULL )return 0;
: :
: :     // this is the trick!
: :     // take the body element from document...
: :  ::IHTMLElement *pBody = NULL;
: :     hr = pDocument->get_body( &pBody );
: :  if(!SUCCEEDED( hr ))return 0;
: :  if(pBody==NULL )return 0;
: :
: :  // from body we can get element2 interface,
: :  // which allows us to do scrolling
: :  ::IHTMLElement2 *pElement = NULL;
: :  hr = pBody->QueryInterface(::IID_IHTMLElement2,(void**)&pElement);
: :  if(!SUCCEEDED( hr ))return 0;
: :  if(pElement==NULL )return 0;
: :
: :  long scroll_height;
: :  pElement->get_scrollTop(&scroll_height );
: :
: :  return  scroll_height;
: : }
: :
: :
: : 그런데 문제는 위팁을 이용해서 get_scrollTop 으로
: : scroll의 위치를 가져오면 항상 0 으로 나오는 사이트가 많습니다.
: :
: : 여기 볼랜드 포럼(http://www.borlandforum.com)도 마찬가지구요
: :
: : 여러가지로 테스트 결과 한가지 현상을 발견했으니....
: :
: : 웹페이지 맨 위에 아래 문구가 있는경우 안되더군요
: :
: : < ! DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01//EN ' >    (안보여서 띄어씀)
: :
: : 위와같은 현상은
: : webBroswer의 Border설정에도 똑같이 안 먹습니다.
: :
: : WebBroswer->OleObject.OlePropertyGet("Document").OlePropertyGet("Body").OlePropertyGet("style").OlePropertySet("Border","none");
: :
: :
: : web은 잘몰라서 그런데....
: : < ! DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01//EN ' >  ==> 이놈이 의미하는것이 무엇인지 알고싶구요
: : 위 함수로 scrollbar의 위치를 못구하는 경우의 해결책을 알고싶습니다.
: :
: : 감사합니다.
: :
: :
: : -추신-
: : 첨부파일은 borlandforum.com의 html 에서
: : 위 doctype에 대한 문장을 뺀경우와 그렇지 않는경우의 html파일입니다.

+ -

관련 글 리스트
52506 WebBroswer get_scrollTop 문제.. 장성호 2094 2008/03/03
52519     Re:WebBroswer get_scrollTop 문제.. - 해결책 장성호 2567 2008/03/03
52508     Re: 부분답변 DOCTYPE 아루스 1545 2008/03/03
52511         Re:Re: 부분답변 DOCTYPE 장성호 1290 2008/03/03
52513             Re:Re:Re: 참고 아루스 1489 2008/03/03
52515                 Re:Re:Re:Re: 참고 장성호 1321 2008/03/03
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.