Dominik Berger: Events auf einer HTML-Seite von ActiveX-Objekten 'fangen'

ich habe das Problem, daß ich für ein mit OBJECT-Tag und CLASSID eingebundenes FlexGrid keine events auf der HTMLSeite  fangen kann
ich definiere zB. onclick = "doSomething()", wie es auch in der Dokumentation erscheint, aber das event kommt nicht
auf der form, dem body oder sonst habe ich das Problem nicht

  1. Hi Dominik,

    ich habe das Problem, daß ich für ein mit OBJECT-Tag und CLASSID eingebundenes FlexGrid keine events auf der HTMLSeite  fangen kann
    ich definiere zB. onclick = "doSomething()", wie es auch in der Dokumentation erscheint, aber das event kommt nicht
    auf der form, dem body oder sonst habe ich das Problem nicht

    Das Problem wird sein, dass ein OBJECT fast so behandelt wird wie ein komplett eigenes Frame. Nutz man es, ist man sehr eingeschraenkt, gerade, was die Events und dynamischen Sachen betrifft.
    Sieh es als eigene kleine Anwendung, die nur sehr beschraenkt mit deinem Dokument kommunizieren kann. onClick-Events werden ja auch nicht von Dokument abgefangen, sondern eben von dem, was Du im Objekt eingebunden hast. Es waere auch recht sinnlos, wenn Du beispielsweise ein Flash einbindest, was auf Mauseingaben wartet und dann wird per Klick dein Befehl ausgefuehrt und nicht der des Flash.

    Viele Gruesse, Thomas Hieck

    1. Hi Thomas,

      erst mal Danke für die Antwort, ich dachte schon, es reagiert gar niemand beim Thema Microsoft ActiveX
      du hast schon ganz recht, daß es eigentlich unsinn ist, einen Click abzufangen, den das Object - bzw. die 'eigene Anwendung' eigentlich selbst verarbeiten wird - im Falle des FlexGrid ist es auch so, daß Clicken z.B. Zellen markiert;
      was ich machen möchte, ist zusätzliche Funktionen anzubieten, z.B. die Spalten per Mausclick auf den Spaltenkopf draggen zu können - so ganz sauber ist das nicht, weil da manchmal die eigenen Funktionen des Objects und die übergestülpten 'interferrieren' - in VB habe ich das geschrieben und dann werden während des Draggens der Spalten zusätzlich die Felder markiert, über die die Maus zieht, was nicht so toll aussieht
      davon abgesehen ist es mir beim genervten rumprobieren doch gelungen, den Click über dem MSFlex in einem Script abzufangen - und zwar ist meine dokumentation (msdn97) da falsch: man muß das event in dem falle nicht mit 'onclick', sondern mit 'click' ansprechen und von den drei scripting methoden (Inline-HTML, Angabe einer Funktion und Schreiben eines ExtraScripts) tut erstaunlicherweise in JavaScript nur die letzte:
      <SCRIPT FOR = flexgrid EVENT = click> alert("So geht es."); </SCRIPT>
      das ist schon ein super-Ärger gewesen, wieviel Zeit mich das gekostet hat, das herauszufinden

      kleine nebenfrage: arbeitest du auch mit activeX-objekten?

      herzlichen gruß, dominik berger

      ps:
      habe gerade nochmal nachgeprüft - und dann zeigte sich absurderweise, daß es bei einem normalen Button in einem 'SCRIPT FOR' nur tut, wenn es EVENT = onClick heißt, während das Grid nur bei EVENT = click reagiert; oh Mann!