<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[wie kann ich bei IHTMLDocument2 frames die left und top koordinaten rauskriegen?]]></title><description><![CDATA[<p>Hi Leutz,<br />
ich code nun seit wochen an funktionen, die mir von ner CppWebBrowser komponente das Link-href unter der Maus geben (einschließlich frames und image-links unterstützung) so, jetzt hab ich fast alles an code zusammen, aber eine sache brauch ich noch:<br />
wenn ich die frames durchlaufe, krieg ich nen zeiger auf ein IHTMLDocument2, welches den aktuellen frame enthält.</p>
<pre><code class="language-cpp">for(LONG ilFrameIndex = 0; ilFrameIndex &lt; ilFramesCount; ilFrameIndex++)
            {
            vFrame.lVal = ilFrameIndex;
            if(!SUCCEEDED(pFrames-&gt;item(&amp;vFrame, &amp;ret)))
               continue;
            ret.pdispVal-&gt;QueryInterface(IID_IHTMLWindow2,(LPVOID*)&amp;pWindow);  // Zeiger auf IHTMLWindow2 des Frames besorgen:
            if(pWindow == NULL)
               continue;
            pWindow-&gt;get_document(&amp;pDoc2);  // Zeiger auf IHTMLDocument2 des Frames besorgen:
            if(pDoc2 == NULL)
               {pWindow-&gt;Release();
               continue;}

            pDoc2-&gt;elementFromPoint(p2.x , p2.y, &amp;pElement);
            ...
</code></pre>
<p>Das Problem, das ich nun habe ist folgendes:<br />
wenn ich nur einen frame hab, kann ich mit CppWebBrowser-&gt;ScreenToClient(p) die Mauskoordinaten p in koordinaten relativ zum browser umrechnen, aber wenn ich mehrere frames hab, brauch ich die koordinaten relativ zum frame...<br />
es würde mir ja schon reichen, wenn ich die x- und y-koordinate des frames hätte, damit könnte ich das selbst ausrechnen, aber weder ne ScreenToClient noch ne get_x* get_c* methode hat IHTMLDocument2...</p>
<p>was hat sich microsoft bei dieser erbärmlichen schnittstelle bloß gedacht?<br />
Danke für jede hilfe...<br />
CU</p>
<p>AlgoMan</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/129833/wie-kann-ich-bei-ihtmldocument2-frames-die-left-und-top-koordinaten-rauskriegen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 29 Jul 2026 17:25:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/129833.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 17 Dec 2005 00:54:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to wie kann ich bei IHTMLDocument2 frames die left und top koordinaten rauskriegen? on Sat, 17 Dec 2005 00:54:24 GMT]]></title><description><![CDATA[<p>Hi Leutz,<br />
ich code nun seit wochen an funktionen, die mir von ner CppWebBrowser komponente das Link-href unter der Maus geben (einschließlich frames und image-links unterstützung) so, jetzt hab ich fast alles an code zusammen, aber eine sache brauch ich noch:<br />
wenn ich die frames durchlaufe, krieg ich nen zeiger auf ein IHTMLDocument2, welches den aktuellen frame enthält.</p>
<pre><code class="language-cpp">for(LONG ilFrameIndex = 0; ilFrameIndex &lt; ilFramesCount; ilFrameIndex++)
            {
            vFrame.lVal = ilFrameIndex;
            if(!SUCCEEDED(pFrames-&gt;item(&amp;vFrame, &amp;ret)))
               continue;
            ret.pdispVal-&gt;QueryInterface(IID_IHTMLWindow2,(LPVOID*)&amp;pWindow);  // Zeiger auf IHTMLWindow2 des Frames besorgen:
            if(pWindow == NULL)
               continue;
            pWindow-&gt;get_document(&amp;pDoc2);  // Zeiger auf IHTMLDocument2 des Frames besorgen:
            if(pDoc2 == NULL)
               {pWindow-&gt;Release();
               continue;}

            pDoc2-&gt;elementFromPoint(p2.x , p2.y, &amp;pElement);
            ...
</code></pre>
<p>Das Problem, das ich nun habe ist folgendes:<br />
wenn ich nur einen frame hab, kann ich mit CppWebBrowser-&gt;ScreenToClient(p) die Mauskoordinaten p in koordinaten relativ zum browser umrechnen, aber wenn ich mehrere frames hab, brauch ich die koordinaten relativ zum frame...<br />
es würde mir ja schon reichen, wenn ich die x- und y-koordinate des frames hätte, damit könnte ich das selbst ausrechnen, aber weder ne ScreenToClient noch ne get_x* get_c* methode hat IHTMLDocument2...</p>
<p>was hat sich microsoft bei dieser erbärmlichen schnittstelle bloß gedacht?<br />
Danke für jede hilfe...<br />
CU</p>
<p>AlgoMan</p>
]]></description><link>https://www.c-plusplus.net/forum/post/944007</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/944007</guid><dc:creator><![CDATA[AlgorithMan]]></dc:creator><pubDate>Sat, 17 Dec 2005 00:54:24 GMT</pubDate></item></channel></rss>