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:
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.
Also ich hab da noch verschiedene andere möglichkeiten ausprobiert und nix ging.
Jetzt bin ich Ratlos und hoffe einer von Euch kann helfen?
Vielen dank Euch !!!
Matthias