Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi SetWindowLong, wieder wegbekommen ?? (https://www.delphipraxis.net/105090-setwindowlong-wieder-wegbekommen.html)

FLINKER_FINGER 15. Dez 2007 14:55


SetWindowLong, wieder wegbekommen ??
 
Hi =)

Hab ein Problem... Bin dabei ein Programm zu entwickeln, welches aus mehreren Forms/Fenstern besteht. Das erste Fenster, ist ein Fenster, bei dem man einen Benutzernamen und ein Kennwort eingibt. Wenn man das richtige eingetippt hat --> Formanmeld.visible := false; u. FormMain.visible := true;
Jetzt habe ich gemerkt, wenn ich das 2. Fenster minimiere, habe ich in der Taskleist immer noch das Programm zu stehen, jedoch ist das für das Passwort-Fenster.
Also habe ich auf der Oncreate prozedure des Main-Forms das hier geschrieben : SetWindowLong(Handle, GWL_EXSTYLE, WS_EX_APPWINDOW);
Jetzt habe ich 2 Tasks für das Programms in der Leiste unten.

Wie bekomme ich das andere weg ??

Progman 15. Dez 2007 15:24

Re: SetWindowLong, wieder wegbekommen ??
 
Liste der Anhänge anzeigen (Anzahl: 1)
Dein LoginForm ist sicher zum Hauptformular der Anwendung geworden.
Ändere das in den Project-Einstellungen oder besser direkt in der *.dpr, so dass dein HauptForm als erstes erzeugt wird. Bevor dein HauptForm angezeigt wird, erzeugst du dein LoginFenster und je nach Login-Erfolg wird dann das Hauptfenster angezeigt oder die Anwendung beendet. Kleines Beispielproject im Anhang. Schau dir hauptsächlich die dpr-Datei an.

FLINKER_FINGER 15. Dez 2007 16:15

Re: SetWindowLong, wieder wegbekommen ??
 
Wow ! danke das sieht so aus als ob du das jetzt nur für mich erstellt hast =) Echt nett von dir !!!!

Habe aber noch ne kleine Frage... wie genau schaue ich mir denn die .dpr an ... Ich hab die schonmal zu egsciht bekommen, aber nur wenn Fehler auftreten..


Ahh habs gefunden ;)

DeddyH 15. Dez 2007 16:31

Re: SetWindowLong, wieder wegbekommen ??
 
Hättest Du mal meine Komponente genommen ;)

FLINKER_FINGER 15. Dez 2007 16:45

Re: SetWindowLong, wieder wegbekommen ??
 
Juuhuuu es geht !! Daaaankeee Progman

Hier nochmal für alle der Code aus dem was Progman gepostet hat:

Delphi-Quellcode:
program testProject5;

uses
  Forms,
  testUnit5a in 'testUnit5a.pas' {frmMain},
  testUnit5b in 'testUnit5b.pas' {LoginForm};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TfrmMain, frmMain);
  Application.CreateForm(TLoginForm, LoginForm);
  LoginForm.ShowModal;
  if not frmMain.LoginOK then Application.Terminate; // loginok :boolean
  Application.Run;
end.


DeddyH du hast schon recht, aber es läuft ja jetzt alles so wie es soll :cheers:
Und ich glaube ich bin jetzt endlich fertig mit dem Programm ^^ auch wenn ich das schon seit einer halben woche glaube ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:58 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