环境:VS2005 C# XP webbrowser控件小弟自己实现查找功能,用IHTMLTxtRange.select()方法选中一段文本。现在需要知道被选中文本的物理座标,因为有时被选中文本会恰好被查找对话框遮盖。所以需要知道被选中文本的坐标,如果和查找对话框位置重叠,就移动对话框或是滚动webbrowser内容。请问有什么方法?
function getElementLeft(element){ var actualLeft = element.offsetLeft; var current = element.offsetParent; while (current !== null){ actualLeft += current.offsetLeft; current = current.offsetParent; } return actualLeft; } function getElementTop(element){ var actualTop = element.offsetTop; var current = element.offsetParent; while (current !== null){ actualTop += current.offsetTop; current = current.offsetParent; } return actualTop; }能看得懂不??
var actualLeft = element.offsetLeft;
var current = element.offsetParent; while (current !== null){
actualLeft += current.offsetLeft;
current = current.offsetParent;
} return actualLeft;
} function getElementTop(element){
var actualTop = element.offsetTop;
var current = element.offsetParent; while (current !== null){
actualTop += current.offsetTop;
current = current.offsetParent;
} return actualTop;
}能看得懂不??
为什么要求不被查找对话框挡住?
jiangsheng大哥,是这样的,查找对话框会遮住一部分文本,如果被查找到内容正好就在这里面,那么用户就无法直接看到查找结果,除非他移动一下查找对话框。对于richTextBox,有函数可以获得当前选择文本的物理位置,但IE里不知如何做到。