AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi TForm modal aber nicht application-modal anzeigen
Thema durchsuchen
Ansicht
Themen-Optionen

TForm modal aber nicht application-modal anzeigen

Ein Thema von Zacherl · begonnen am 22. Apr 2011 · letzter Beitrag vom 22. Apr 2011
Antwort Antwort
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

TForm modal aber nicht application-modal anzeigen

  Alt 22. Apr 2011, 04:58
Hey,

der Titel ist etwas schlecht formuliert, aber mir fiel nichts besseres ein. Ich habe eine Anwendung, welche zwei Child Formulare erzeugt und mit Show() anzeigt. Auf diesen Formularen befindet sich jeweils ein Button, der per Click ein weiteres Fenster öffnen soll. Dieses möchte ich zwar modal anzeigen, aber so, dass nur das dazugehörige Child Fenster betroffen ist. Das zweite Child Fenster soll nach wie vor den Focus erhalten können, auch wenn das modale Fenster von Child 2 noch nicht geschlossen ist.

Probiert habe ich es mit einem normalen ShowModal(), was allerdings nicht funktioniert. In diesem Falle ist das neue Fenster zwar modal, aber ich kann weder Child 2, noch das Main Fenster auswählen.

Rufe ich allerdings beispielsweise MessageBox() mit dem Handle des Childs als ersten Parameter auf, entsteht die von mir gewünschte Funktionalität. Kann ich diese auch irgendwie mit normalen Forms nachbilden?

Viele Grüße
Zacherl
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)

Geändert von Zacherl (22. Apr 2011 um 13:26 Uhr)
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#2

AW: TForm modal aber nicht application-modal anzeigen

  Alt 22. Apr 2011, 05:34
Ich weiß nicht, was bei MessageBox intern genau passiert, aber die einfachste Lösung wäre, die Eigenschaft Enabled des Childs auf False zu setzen.
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#3

AW: TForm modal aber nicht application-modal anzeigen

  Alt 22. Apr 2011, 13:23
Also ich habe mal etwas in die Sourcen der ShowModal() Methode geschaut. Dort werden unter anderem sämtliche anderen Fenster der Anwendung deaktiviert. Habe mir die Funktion jetzt mal dupliziert und den entsprechenden Aufruf mit
EnableWindow(ParentWindow, false); ersetzt. Den ersten Tests nach zumindest, funktioniert es jetzt wie gewünscht
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  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 07:10 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