[Delphi] TWebbrowser 의 찾는 문자열에 형광팬 효과 주기 델파이
2009/11/04 17:40
http://blog.naver.com/yagyu82/92553070
uses 절에는 MsHTML 을 추가합니다. 그리고 함수는 다음과 같습니다.
var
tr: IHTMLTxtRange;
begin
tr := ((WebBrowser.Document as IHTMLDocument2).body
as IHTMLBodyElement).createTextRange;
while tr.findText('찾는 문자열', 1, 0) do
begin
tr.pasteHTML('<span style="background-color: Lime; font-weight: bolder; font-size: 30">'
+ tr.htmlText + '</span>');
tr.scrollIntoView(True);
end;
end;
즉 tr 에 TWebbrowser 내부의 로딩된 도큐먼트를 IHTMLDocument 2로 반환해서 해당 html 의 body 테그에 해당하는 부분, 즉, 본문 내용을 저장합니다.
이후 while 문으로 tr 의 findText 함수로 문자열을 검색합니다.
tr 의 htmlText 함수로 해당 문자열을 알수 있으며 pasteHTML 로 앞 뒤에 형광팬 효과를 위한 태그를 추가합니다.
tr.scrollIntoView 는 해당 위치로 자동 스크롤 하는 명령입니다.
즉, 형광효과란, 해당 문자열을 찾아서 문서에 임의의 테그를 추가하여 문서를 변화시키는 방법입니다.
당연히 해당 테그를 수정하면 사이즈, 배경색, 기울임 효과등도 추가할 수 있습니다.
다시 원 문서로 돌리고 싶으시다면 Webbrowser.ReFlesh() 해주세요
당연히 원래 문서를 재 로딩하고, 효과는 취소됩니다.
이 코드를 이용하면 익스플로러 툴바 중 알툴바의 형광팬 효과와 똑같이 구현할 수 있습니다
반응형
'Delphi, RadStudio' 카테고리의 다른 글
[개발/delphi] 힌트의 위치와 색상 변경하기 (0) | 2011.12.20 |
---|---|
[개발/delphi] 윈도우즈 언어 알아보기 (0) | 2011.12.20 |
[개발/delphi] 자기 자신을 지우는 프로그램 만들기(delphi) (0) | 2011.12.12 |
[개발/delphi] how to register an OCX (0) | 2011.12.12 |
[개발/delphi] Starting and stopping Windows services (0) | 2011.12.12 |
댓글