AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Form zu einer "Gruppe" zuweisen?
Thema durchsuchen
Ansicht
Themen-Optionen

Form zu einer "Gruppe" zuweisen?

Ein Thema von VT-DA · begonnen am 29. Jul 2005 · letzter Beitrag vom 31. Jul 2005
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von VT-DA
VT-DA

Registriert seit: 20. Jul 2005
Ort: Heiden
59 Beiträge
 
#1

Form zu einer "Gruppe" zuweisen?

  Alt 29. Jul 2005, 23:21
Hi,

Nach längerem suchen ohne Erfolg, gebe ich hiermit auf und stelle erneut einen noobigen Thread.
Ich habe ein Fenster erstellt. Dieses Fenster ist mein "Mainform". So. Nun möchte ich ein zweites Fenster erstellen was zu dieser Gruppe hinzugefügt wird. Also z.B. wenn man dass MainFnester schließt, schließt sich das andere Fenster auch. Halt ein Hauptfenster. Nur mein Problem ist, dass ich nicht weiß wie ich das andere Fenster zu dem Mainfenster hinzuufügen soll?
Ich habe versucht beim erstellen des Fensters einfach den Handel dabei anzugeben.
Doch irgendwie wird das Fenster noch in der Taskleiste angezeigt was es eigentlich nicht dürfte.
Außerdem bleibt das Fenster offen wenn man das Hauptfenster schließt.

Mfg
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#2

Re: Form zu einer "Gruppe" zuweisen?

  Alt 30. Jul 2005, 00:15
Das Schließen mußt du schon selber und explizit machen. Also zB vom ersten das zweite Fenster schließen.
  Mit Zitat antworten Zitat
Benutzerbild von VT-DA
VT-DA

Registriert seit: 20. Jul 2005
Ort: Heiden
59 Beiträge
 
#3

Re: Form zu einer "Gruppe" zuweisen?

  Alt 30. Jul 2005, 14:16
Hi,

hmm. Okay. Trodzdem weiß ich aber noch nicht wie ich das andere Fenster zu einer Gruppe machen soll.

Mfg
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#4

Re: Form zu einer "Gruppe" zuweisen?

  Alt 30. Jul 2005, 14:33
Zitat von VT-DA:
Trodzdem weiß ich aber noch nicht wie ich das andere Fenster zu einer Gruppe machen soll.
Erklär mal, was du unter Gruppe verstehst. Dieser Begriff ist mir komplett neu und ich arbeite schon ein paar Jahre mit der Win32-API!
  Mit Zitat antworten Zitat
Benutzerbild von VT-DA
VT-DA

Registriert seit: 20. Jul 2005
Ort: Heiden
59 Beiträge
 
#5

Re: Form zu einer "Gruppe" zuweisen?

  Alt 30. Jul 2005, 14:38
Hi,

Also ich nehme mal Delphi als beispiel. Bei Delphi sind ja mehrere Fenster. Zum beispiel einmal ein Form oder halt der Object Inspector... Doch unten in der Leite siehst du ja nur ein Programm. Delphi. Normaler weise sind dann ja drei Fenster zu sehen weil die ja eigeständig sind. Aber das Programm wird unten als ein ganzes angezeigt und wenn man oben die Hauptleiste schließt, schließen sich auch automatisch alle anderen Fenster. Da ich ja alles aus einer DLL hole ist es ja nicht so...

Mfg
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#6

Re: Form zu einer "Gruppe" zuweisen?

  Alt 30. Jul 2005, 14:51
In der Titelleiste schließt du das MainForm (ist glaub ich bei Delphi die Menuleiste oben...). Wenn das MainForm geschlossen wird, ist das Programm geschlossen. Und dabei werden ALLE Fenster geschlossen, die zu deinem Programm gehören.
  Mit Zitat antworten Zitat
Benutzerbild von VT-DA
VT-DA

Registriert seit: 20. Jul 2005
Ort: Heiden
59 Beiträge
 
#7

Re: Form zu einer "Gruppe" zuweisen?

  Alt 30. Jul 2005, 16:04
Hi,

Ja. Aber ja nicht wenn ich eine DLL erstelle und die dann in einer anderen Programmiersprache öffne.
Dort sind dann zwei Fenster aufgelistet. Auch wenn ich ein Projekt als "Form" öffne gehts auch so.Ich brauche halt einen Befehl oder einen Parameter wo das halt sozusagen Manuell geht.

Mfg
  Mit Zitat antworten Zitat
DBR

Registriert seit: 19. Jul 2005
38 Beiträge
 
#8

Re: Form zu einer "Gruppe" zuweisen?

  Alt 30. Jul 2005, 16:10
Falls du nicht scheust, das von Hand zu machen, nimm den folgenden Code. Beide Fenster werden zusammen geöffnet, sind zusammen aktiv und werden zusammen minimiert. Weitere Dinge kannst du ja selbst einbauen.

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, SysUtils, Classes, Forms, Dialogs, StdCtrls, Controls, Messages;

type

  TForm1 = class(TForm)
    procedure FormActivate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    procedure Minimieren(var M: TMessage); message WM_NCLBUTTONDOWN;
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

uses Unit2;

procedure TForm1.FormActivate(Sender: TObject);
begin
  sendmessage(Form2.handle, WM_NCACTIVATE, 1, 0);
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  Form2.show;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Application.Title := 'Gruppe W1';
  Caption := Application.Title;
end;

procedure TForm1.Minimieren(var M: TMessage);
begin
  DefaultHandler(M);
  if M.WPARAM = HTREDUCE then
    Form2.windowstate := wsminimized;
end;

end.

--------------------------------------------------------------
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

type
  TForm2 = class(TForm)
    procedure FormActivate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    procedure CreateParams(var Params: TCreateParams); override;
    procedure Minimieren(var M: TMessage); message WM_NCLBUTTONDOWN;
  end;

var
  Form2: TForm2;

implementation

{$R *.DFM}

procedure TForm2.FormActivate(Sender: TObject);
begin
  sendmessage(Application.Mainform.handle, WM_NCACTIVATE, 1, 0);
end;

procedure TForm2.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  Params.WndParent := GetDesktopWindow;
end;

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Application.MainForm.close;
end;

procedure TForm2.FormCreate(Sender: TObject);
begin
  Caption := 'Gruppe W2';
end;

procedure TForm2.Minimieren(var M: TMessage);
begin
  DefaultHandler(M);
  if M.WPARAM = HTREDUCE then
    Application.minimize;
end;

end.
-------------------------------------------

Gruß DBR

[edit=alcaeus]Delphi-Tags eingefuegt. In Zukunft bitte selbst machen. Mfg, alcaeus[/edit]
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#9

Re: Form zu einer "Gruppe" zuweisen?

  Alt 30. Jul 2005, 16:43
Das in der Taskleiste ist ein Fenster (Application.Handle) welches du sonst garnicht zu sehen bekommst. Es hat nichts mit den Forms (wieviele auch immer) zu tun.
Der Grund warum es in der Taskleiste angezeigt wird ist, daß der Stil WS_EX_APPWINDOW gesetzt ist.
  Mit Zitat antworten Zitat
Benutzerbild von VT-DA
VT-DA

Registriert seit: 20. Jul 2005
Ort: Heiden
59 Beiträge
 
#10

Re: Form zu einer "Gruppe" zuweisen?

  Alt 30. Jul 2005, 19:15
Hi,

hmm. Danke aber so wichtig ists dann doch nicht. Ich habe auch mal versucht nochmal mit handel.Parent das Fenster zu dem Mainfenster hinzuzufügen doch dann ist das Fenster in dem anderem Fenster und das will ich ja nicht. Naja. Egal. Trodzdem danke nochmal.

Mfg
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:09 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