ערכתי לאחרונה בתאריך 27.06.10 בשעה 16:33 בברכה, ronen333
הקשבתי בעצתו של עומר (NETBOY), וחקרתי קצת על BHO.
ניסתי להשיג את המיקום של הלינק (כי אני מעוניין לעצמיד עליו פקד אחר).
אבל זה לא מצמיד לי את זה בצמוד ללינק.. (ההצמדה נעשת בצורה נכונה).
ושבדקתי את המיקומים בפיקסלים הם באמת לא איפה שהוא אמורים להיות...עשיתי זאת כך:
IWebBrowser2 webBrowser2 = (IWebBrowser2)webBrowser; IHTMLDocument2 document = (IHTMLDocument2)webBrowser2.Document; foreach (IHTMLElement2 tempElement in document.links) { HTMLAnchorElementClass a = (HTMLAnchorElementClass)tempElement; //System.Windows.Forms.MessageBox.Show(a.href); IHTMLRect rect = a.getBoundingClientRect(); Win32API.RECT r = new Win32API.RECT(); r.Left = rect.left; r.Bottom = rect.bottom; r.Right = rect.right; r.Top = rect.top; webElementsRECTS.Add(r); }
|
ואז אני שם את הLABEL במיקום הבא:
int xOrigin = rect.Left+ (rect.Right - rect.Left) / 2; int yOrigin = rect.Top - (rect.Bottom - rect.Top) / 2; ; //create object at the location Label label = new Label(); label.Location = new Point(xOrigin, yOrigin);
|
אתם יכולים להתעלם מהמבנה RECT שלי.. פשוט ככה אני שומר את זה ואז משתמש בשלב מאוחר יותר.
הקטע הוא שאני חשוב שgetBoundingClientRect לא באמת מביא לי מלבן במיקום הלינק...
למישהו יש מושג מה אני צריך לעשות?