AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Form mit Parent = Desktop, Controls funktionieren nicht
Thema durchsuchen
Ansicht
Themen-Optionen

Form mit Parent = Desktop, Controls funktionieren nicht

Ein Thema von Kill0r · begonnen am 13. Jul 2007 · letzter Beitrag vom 14. Jul 2007
Antwort Antwort
Kill0r

Registriert seit: 5. Jun 2005
Ort: Zürich
50 Beiträge
 
Delphi 2010 Professional
 
#1

Form mit Parent = Desktop, Controls funktionieren nicht

  Alt 13. Jul 2007, 20:57
Hi!
Ich habe folgendes Problem:
Ich arbeite gerade an einem LAN-Messenger und habe dazu 2 Forms, 1 Form für die Kontaktliste (die MainForm ) und 1 Form für die Unterhaltungsfenster selbst. Die verschiedenen Unterhaltungen sind alle im gleichen Form mittels PageControl und Tabs untergebracht.
Die Tabs bzw. die verschiedenen Pages werden dynamisch erstellt und zugewiesen.

Nunja... nun muss ich ja die UnterhaltungsForm von der MainForm aus aufrufen... dabei erhält das Chatfenster als Parent die MainForm. Nun soll aber das Chatfenster weiterhin sichtbar bleiben (und auch einen eigenen Eintrag in der Taskleiste erhalten) auch wenn die Kontaktliste minimiert wird.

Ich hab es bereits einigermassen hingekriegt (den Parent des Chatfensters auf den Desktop zu setzen), nur gibt es nun ein grösseres Problem, nämlich das die Controls auf dem Chatfenster nicht bzw. nicht richtig auswählbar sind. Sogar das Fenster selbst hat Probleme (als würde irgendwas mit dem Fokus schief laufen). Wenn man das Fenster an der Titelliste packt, sieht das Fenster aus als wäre es gerade im Hintergrund (also Titelleiste hat die Farbe eines inaktiven Fensters) es lässt sich zwar verschieben doch man sieht den Inhalt des Fensters nicht, nicht mal einen Rahmen, sondern es taucht erst wieder beim Loslassen an der Stelle auf.

Hier der Code den ich zum Parent setze benutze:
frmConversation := TfrmConversation.CreateParented(GetDesktopWindow); Dies wird beim 1. Erstellen eines Tabs ausgeführt

Und hier noch der Teil wo die Forms erstellt werden:
Delphi-Quellcode:
Application.CreateForm(TfrmMain, frmMain);
Application.CreateForm(TfrmSettings, frmSettings);
//Application.CreateForm(TfrmConversation, frmConversation);
Application.CreateForm(TfrmAddContact, frmAddContact);
(frmConversation hab ich auskommentiert weil ich es ja erst später mit CreateParented(); erstelle)

Ich hoffe ihr wisst eine Lösung wie ich diesen ziemlichen nervigen Fehler ausbügeln kann

Cu
Kill0r
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Form mit Parent = Desktop, Controls funktionieren nicht

  Alt 13. Jul 2007, 22:17
Hi,

einen 2. Eintrag in der Taskleiste für das 2. Formular kann man ansonsten auch so bekommen:
Delphi-Quellcode:
protected
  procedure CreateParams(var Params: TCreateParams); override;
end;

var
Form2: TForm2;

implementation

{$R *.DFM}

procedure TForm2.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  Params.WndParent := GetDesktopWindow;
end;
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
Kill0r

Registriert seit: 5. Jun 2005
Ort: Zürich
50 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Form mit Parent = Desktop, Controls funktionieren nicht

  Alt 14. Jul 2007, 17:09
HURRA!

Deine Lösung hat hervorragend funktioniert!
So nun kann ich endlich weiter daran arbeiten

Noch nen schönen Tag

Cu
Kill0r
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:16 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