Startseite | Infos für Behinderte | Behindertensoftware | Forum | Programmierarchiv | Webguide | Markus privat | Kontakt | Download | Gästebuch | Online Games | Entstehungsgeschichte


Fenster immer im Vordergrund

Zunächst möchte ich darauf hinweisen, dass diese Lösung aus dem Entwickler-Forum von Herrn Kosch ist.

Tja, wenn man ein Hauptfenster immer im Vordergrund haben will, ist das einfach. Man setzt FormStyle auf StayOnTop. Bei nicht Hauptfenstern bleibt diese Methode ohne Wirkung. Deswegen hier der Programmcode, welcher in das Fomular/Fenster eingesetzt werden muss, damit es auch da tut:

unit UntTastenbelegung;

interface

uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ExtCtrls;

type
TFrmTastenbelgung = class(TForm)
mmotastenbelegung: TMemo;
pnlstatus: TPanel;
BitBtn1: TBitBtn;

procedure BitBtn1Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
procedure Execute(Tastenbelegung: TStrings);
// Prozedur damit Formular IMMER sichtbar ist
procedure CreateParams(var Params: TCreateParams); override;
end;

var
FrmTastenbelgung: TFrmTastenbelgung;

implementation

{$R *.DFM}

{Diese Prozedur schiebt das entsprechende Fenster dem Desktop als "Findelkind" unter. Und das ist eben der Trick!!!}

procedure TFrmTastenbelgung.CreateParams(var Params: TCreateParams);
begin
inherited;
with Params do
begin
ExStyle := ExStyle or WS_EX_TOPMOST;
WndParent := 0;
end;
end;

zurück zum Stichwortverzeichnis