Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Handle eines Gadgets in fremden Fenster ermitteln

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Windows-spezifische Fragen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
E-P-S



Anmeldungsdatum: 16.09.2004
Beiträge: 500
Wohnort: Neuruppin

BeitragVerfasst am: 23.03.2010, 19:53    Titel: Handle eines Gadgets in fremden Fenster ermitteln Antworten mit Zitat

Hi zusammen, ich hab ne ungewöhnliche Frage.

Ich habe eine fremde Anwendung (trueSpace 6.6). Diese enthält u.a. ein Label in dem Text erscheint wenn man über ein anderes Element mit der Maus "fährt".

Das ganze funktioniert wie eine Statuszeile, jedoch glaube ich nicht das es eine ist, denn der Fensteraufbau von trueSpace ist etwas merkwürdig (siehe Bild)



Meine Frage lautet: Könnte man den Handle dieses Labels (oder auch der Statuszeile) herausfinden um zu erkennen welcher Text darin gerade angezeigt wird?

Hierzu muß ich sagen das ich den Handle des Hauptfensters ermitteln kann, denn bei dem ganzen handelt es sich um die Entwicklung einer Erweiterung, also Plugins, mit Hilfe der tS SDK, welche mir den Handle des Fensters zurück gibt.

Als Beispiel, wie im Bild zu sehen, würde ich gerne wissen wenn der Text "Object Move" erscheint.

Vielen Dank schonmal.
_________________
Man kann sich öfter als zweimal im Leben halb tot lachen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 23.03.2010, 23:34    Titel: Antworten mit Zitat

Das sieht nicht unbedingt nach der Win32 API aus. Und falls doch ist die zumindest gethemed...

EnumChildWindows() wäre wohl dein erster Ansatzpunkt.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
E-P-S



Anmeldungsdatum: 16.09.2004
Beiträge: 500
Wohnort: Neuruppin

BeitragVerfasst am: 23.03.2010, 23:41    Titel: Antworten mit Zitat

Danke, genau das isses lächeln

Den Handle hab ich jetzt. Ich kann das Element z.B. verstecken und wieder sichtbar machen (SW_SHOW, SW_HIDE).

Wie kann ich denn nun daraus den Text auslesen?

Ich hab es per SendMessage versucht - in der Annahme es wäre eine StatusBar. Aber schon beim Versuch die Anzahl an Parts zu bekommen erhalte ich immer nur 0. Gleiches beim Versuch die Textlänge und auch Text zu ermitteln.

SendMessage( handle, #SB_GETPARTS, 0, 0 )

Hab ich da irgend nen Denkfehler?
_________________
Man kann sich öfter als zweimal im Leben halb tot lachen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Cherry



Anmeldungsdatum: 20.06.2007
Beiträge: 249

BeitragVerfasst am: 24.03.2010, 23:16    Titel: Antworten mit Zitat

Nein. Wenn du die Fensterklasse anschaust, wirst du sehen, dass das was eigenes ist. Properties mit einem Pointer o.ä. gibts da leider auch nicht.

Ohne zu wissen, wie das intern abläuft (und auch dann ist es unschön da undokumentiert - und es ist in späteren Versionen auch anders), wirst du da wahrscheinlich nicht rankommen (ich hab mir extra v6.6 organisiert um das zu testen^^)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
E-P-S



Anmeldungsdatum: 16.09.2004
Beiträge: 500
Wohnort: Neuruppin

BeitragVerfasst am: 24.03.2010, 23:20    Titel: Antworten mit Zitat

Danke, ihr habt recht. Die Caligari Heinis haben da tatsächlich keine Standard Elemente eingebaut.

Meinen Tests nach sind das alles STATIC Elemente in die direkt hineingezeichnet wird.

Ich hab jetzt eine andere Lösung für mein Problem gefunden.

DANKE
_________________
Man kann sich öfter als zweimal im Leben halb tot lachen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Windows-spezifische Fragen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz