![]() |
Form aus DLL in fremden Programm ?
Hallo,
folgendes Problem : Ich hab ne Anwendung ( FS2004 ) in der ich ein Fenster erstellen möchte. Das ganze geht über sogenannte Module ( das sind für den FS DLL's ). Das geht soweit, das ich ein neues Menü im FS habe aus dem ich auf meine DLL zugreifen kann. In der initialisierung der DLL erstelle ich mein Fenster. Das geht eigentlich auch soweit, nur das das Fenster 1. keinen Taskbareintrag haben soll 2. beim minimieren des FS auch minimiert werden soll. Soweit ich das verstanden habe sollte das mit CreateParented gehen. Geht eigentlich auch, nur das mein Fenster immer hinter allen anderen Fenstern ist, also ich das nie sichtbar bekomme. Es ist da, das ist sicher, denn wenn man ein anderes Fenster des FS schnell hin und herschiebt, dann sieht man mein Fenster im Hintergrund und dann is es wieder hinter dem anderen Fenster verschwunden. Ich hab also folgendes versucht : ( ich hab alles was ich so versucht habe in der Procedure stehen gelassen.)
Code:
Also ich hab da noch verschiedene andere möglichkeiten ausprobiert und nix ging.
library Project1;
uses Windows, Messages, Forms, SysUtils, Variants, Classes, Graphics, Controls, module, Unit1 in 'Unit1.pas' {Form1}; procedure ModuleInit; stdcall; var HFSimWindow: HWND; begin HFSimWindow := FindWindow('FS98MAIN', nil); Form1 := TForm1.CreateParented(HFSimWindow); //Form1 := TForm1.Create(Application); //Form1.ParentWindow := HFSimWindow; Form1.BringToFront; //SetWindowPos(Form1.Handle, HFSimWindow, 0, 0, 0, 0, SWP_NOSIZE + SWP_NOZORDER ); SetWindowPos(Form1.Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE); //Form1.FormStyle := fsStayOnTop; end; . . . // hier wird eigentlich das fenster angezeigt procedure DoMenu; begin Form1.Show; // hier auch schon x - Möglichkeiten versucht SetWindowPos(Form1.Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE ); end; // hier die unit1 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} end. Jetzt bin ich Ratlos und hoffe einer von Euch kann helfen? Vielen dank Euch !!! Matthias |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz