Linksklick auf SWF(ActiveX?)-Fenster feststellen
-
Hallo zusammen,
ich habe ein kleines Problem und schon viele verschiedene Ansätze probiert, leider komme ich nicht weiter, da ich nicht so fit in C++ bin:
In einem C++-Programm (WinAPI) habe ich eine SWF-Datei in einem (internen) Fenster (CreateWindow(), wird auch angezeigt) und möchte, daß das Programm etwas ausführt, wenn auf das Fenster mit der SWF linksgeklickt wird.
Es ist also kein Austausch von Daten oder Events mit der SWF nötigt, ich kann nur den Klick auf das (ActiveX?)Fenster, welches die SWF enthält nicht abfangen, weil ich es nicht schaffe, die CALLBACK-Funktion für das Flash-Fenster zu überladen. Ich kann bei der Erstellung des Fensters auch keine angeben, da ja die Erstellung durch die AtlAxWin vorgegeben ist, oder?
Hier der Code:
[code]
...
#import "C:\Users\R2\Desktop\CDROID\CDROID\Debug\swf\flash.ocx" rename_namespace("Flash")
#pragma comment(lib, "atl")
#include <atlbase.h>
CComModule _Module;
#include <atlwin.h>
...
LRESULT CALLBACK WndProc(HWND hwnd_main, UINT message, WPARAM wParam, LPARAM lParam)
{
...
switch(message)
{
case WM_CREATE:
...
void* init;
init = GetProcAddress(LoadLibrary(L"atl"), "AtlAxWinInit");
_asm call init;
hwndChild_flash = CreateWindow(L"AtlAxWin", L"C:\.......\\start.swf", WS_CHILDWINDOW | WS_VISIBLE | WS_BORDER, 0, 0, 1200, 1200, hwnd_main, (HMENU) 20, ((LPCREATESTRUCT) lParam)->hInstance, NULL);
ShowWindow(hwndChild_flash, SW_SHOW);
...
[code]Ich habe schon mehrere Sachen probiert, um einen Linksklick auf das Fenster abzufangen (versucht eigene Callback-Funktion zu definieren, verschiedene Arten das Fenster zu erstellen, etc.) aber ich liste die hier mal nicht auf, da ich nicht weiß, was davon sinnvoll ist.
Bin für jede Hilfe dankbar.
Viele Grüße,
Manfred
-
Hallo,
wenn es keine Möglichkeit gibt, die Callback-Funktion für ActiveX-Fenster zu überladen, um einen Klick auf das Fenster zu erfassen...
gibt es eine Möglichkeit, einen Klick generell im Programm zu erfassen (egal in welchem Fenster)?
Oder kann man ein durchsichtiges Fenster drüberlegen und dort den Klick erfassen (hab ich nicht hinbekommen).Viele Grüße,
Manfred
-
Gelöst, neues Fenster über dem Flash-Fenster erstellt.