Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Form in Taskleiste anzeigen lassen (https://www.delphipraxis.net/141229-form-taskleiste-anzeigen-lassen.html)

stho 5. Okt 2009 11:49


Form in Taskleiste anzeigen lassen
 
Hallo Leute

Ich arbeite an einem Programm was bisher aus 1 Main-Form und 3 weiteren Formularen besteht.
Ich möchte gerne 1 dieser Weiteren Formulare in der taskleiste anzeigen lassen...

ist das theoretisch möglich?

Liebe Grüße
stho

Chris.R 5. Okt 2009 12:19

Re: Form in Taskleiste anzeigen lassen
 
Hallo,

ja das ist möglich.

Um dem zweiten Fenster einen eigenen Eintrag in der Taskleiste zu spendieren, musst du folgende Funktion z.B. im FormCreate
aufrufen:

Delphi-Quellcode:
SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_APPWINDOW);
Ciao Chris

DeddyH 5. Okt 2009 12:20

Re: Form in Taskleiste anzeigen lassen
 
Hast Du einmal versucht, CreateParams zu überschreiben?
Delphi-Quellcode:
type
  TZweitForm = class(TForm)
  ...
  protected
    procedure CreateParams(var Params: TCreateParams);override;
  ...
  end;

...

procedure TZweitForm.CreateParams(var Params: TCreateParams);
begin
  inherited;
  Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW;
end;
[edit] Um Sekunden zu spät *grmpf* [/edit]

stho 5. Okt 2009 13:47

Re: Form in Taskleiste anzeigen lassen
 
Huhuuuuuuuuu *freuuuuuuuuuuuu*

Es klappt :thumb:

Vielen Herzlichen Dank!!!



[Edit]
Aber eine Frage hätte ich trotzdem noch :oops:

Die beiden anderen Formulare legen sich immer über das Hauptformular... ich kann das Haupt-Formular also nicht in den Vordergrund holen :-(

Wie mache ich das denn?

DeddyH 5. Okt 2009 13:55

Re: Form in Taskleiste anzeigen lassen
 
Delphi-Quellcode:
Application.MainForm.BringToFront
oder
Delphi-Quellcode:
SetForegroundWindow(Application.MainForm.Handle)
fallen mir spontan ein. Versuch mal einfach ;)

stho 5. Okt 2009 14:07

Re: Form in Taskleiste anzeigen lassen
 
nun, ich bedanke mich schonmal bei dir für die schnelle Hilfe :-)
Bin noch relativ unerfahren was Delphi anbelangt,,, :oops: (naja, jeder fängt mal klein an ^^)

aber was sind das was du dort benannt hast?
Eigenschaften oder Prozeduren? Wo muss ich die auf rufen?

Das sieht mir danach aus als würden sie die Haupt-Form in den Vordergrund bringen. (naja, im prinzip will ich das doch am besten nicht als einmaligen aufruf sondern eher als dauerhafte eigenschaft ^^)

Denn Momentan verdecken beide meine Formen die Haupt-Form :-(

(Wenn man auf den Kopf von einem Fenster klickt soll das automatisch im Vordergrund stehen. So wie bei normalen sich überlappenden Windoof-Ordnern) :gruebel:

Miolin 5. Okt 2009 14:16

Re: Form in Taskleiste anzeigen lassen
 
Zeigst du die weiteren Formulare mit Show oder ShowModal?
ShowModal hat nämlich die Wirkung wie du sie beschrieben hast.

stho 5. Okt 2009 14:24

Re: Form in Taskleiste anzeigen lassen
 
ich rufe die formulare mit

Form2.visible := True;

auf... :-(
Hoffe das beantwortet deine Frage. Wüsste sonst nicht wie ich sie beantworten sollte...

Miolin 5. Okt 2009 14:44

Re: Form in Taskleiste anzeigen lassen
 
Versuchs mal mit
Delphi-Quellcode:
Form2.Show;

stho 5. Okt 2009 15:12

Re: Form in Taskleiste anzeigen lassen
 
ja, die form wird ja auch gezeigt. es ist nur leider nicht möglich form1 in den vordergrund zu holen... form 2/3 liegen immer darüber. ich muss die immer umständlich zur seite schieben um an form1 zu kommen (was nen bissel doof ist)


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:19 Uhr.
Seite 1 von 2  1 2      

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