AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

fremde Anwendung im Fenster

Ein Thema von bluescreen25 · begonnen am 11. Feb 2006 · letzter Beitrag vom 2. Sep 2008
Antwort Antwort
bluescreen25

Registriert seit: 27. Nov 2005
Ort: Geldern
229 Beiträge
 
Delphi 7 Enterprise
 
#1

fremde Anwendung im Fenster

  Alt 11. Feb 2006, 17:03
Hallo, teile meines Themas sind wohl schonmal hier diskutiert, aber ich kann nichts direktes finden, was mein Problem löst:

Also ich möchte gerne in meiner Anwendung, welche mehrere Forms beinhaltet eine Form bereitstellen, in der ein paar Steuerelemente des in meiner Anwendug laufenden MP3-Players anzeigen, und angedockt die fremde Anwendung, ein Navigationsprogramm.

Die fremde Anwendung sollte sich immer schön andocken, sowie wenn ich zwischendurch mal die Steuerelemente betätige noch "anwesend sein" und nicht in der Task verschwinden.

Wenn ich über meine Kontrolelemente mal in ein anderes Fenster meiner Anwendung wechsle, dann wieder zurück, sollte die fremde Anwendung noch da sein.


Wie könnte man das generell angehen. Ich bin nicht gerade ein Delphi-Profi.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: fremde Anwendung im Fenster

  Alt 11. Feb 2006, 17:27
Moin bluescreen,

falls ich Dich richtig verstanden habe, kannst Du das, vereinfacht, so machen:

Delphi-Quellcode:
  hWindow := FindWindow(nil,'Unbenannt - Editor');
  if hWindow = 0 then exit;
  Windows.SetParent(hWindow,Self.Handle);
Verallgemeinert:
Das Handle des gewünschten Hauptfensters suchen, und bei Erfolg den Parent änderen.
In obigem Beispiel würde das erste Standard-Notepad-Fenster, das gefunden wird, innerhalb des eignen Formulars angezeigt werden.
Wichtig ist aber, dass das beim Schliessen des eigenen Programmes berücksichtigt wird.
So eine Meldung wie: "Datei wurde noch nich gespeichert" kommt dann nicht, sondern das Programm wird einfach auch geschlossen.
Man könnte dann, beim Ende des eigenen Programms den Parent wieder auf Desktop ändern (SetParent(hWindow,0)).
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
bluescreen25

Registriert seit: 27. Nov 2005
Ort: Geldern
229 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: fremde Anwendung im Fenster

  Alt 11. Feb 2006, 20:02
Danke erstmal, nur leider klappte das nicht so, wie ich es mir vorstellte.

Ich habe nochmal gesucht und eine schöne Procedure gefunden, in welcher der Aufruf und Positionierung gut geregelt ist.

Nur jetzt liegt "Notepad" hier als Beispiel in richtiger Fenstergröße und Position auf meiner Form, in welcher meine Controls sichtbar bleiben.
Wenn ich nun einen Button von meiner Form nutze, verschwindet Notepad in die Task.
Wie kann man die "fremde Anwendung" sichtbar auf meiner Form halten ? Und zwar nur auf dieser speziellen Form, denn wenn ich die Form wechsel , dann darf natürlich das Notepad nicht mehr sichtbar sein, wenn ich zurückkehre, dann wieder .
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#4

Re: fremde Anwendung im Fenster

  Alt 2. Sep 2008, 16:41
Also bei mir ist das so:

Das Fenster wird in mein Form gesetzt, aber die fremde Anwendung läuft immer noch weiter...
Marvin
  Mit Zitat antworten Zitat
Benutzerbild von Der.Kaktus
Der.Kaktus

Registriert seit: 22. Jan 2008
Ort: Erfurt
958 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: fremde Anwendung im Fenster

  Alt 2. Sep 2008, 17:07
Zitat von bluescreen25:
Danke erstmal, nur leider klappte das nicht so, wie ich es mir vorstellte.

Ich habe nochmal gesucht und eine schöne Procedure gefunden, in welcher der Aufruf und Positionierung gut geregelt ist.

.....
TIP: Wie waere es, wenn Du diese Przedure mal hier reinstellst?..vielleicht interessiert das auch andere Forenmitglieder.
Gruss Kaki

Repeat Until true=false;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz