Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   MainForm immer Focused (https://www.delphipraxis.net/115993-mainform-immer-focused.html)

Lucifer 21. Jun 2008 12:11


MainForm immer Focused
 
Hallo

Ich arbeite noch an meinem kleinen Spiel und habe dabei mehrere Forms wegen der Map und der Statistiken und so.
Nun möchte ich aber wenn man auf andere Formen ausser der Main Form klickt, dass die MainForm Focused bleibt.

Egal ob ich nun auf einen Button oder ein Editfeld in einer anderen Form klicke, es soll immer die MainForm mit ihrer Stringgrid Focused bleiben.

Real_Thunder 21. Jun 2008 15:22

Re: MainForm immer Focused
 
Wenn du auf einen Button Klickst.. und der Button aktiv ist.. bekommt er immer den Focus... das ist eigendlich sinn der Sache...

was du machen kannst ist der Hauptform sagen das sie FsStayOnTop sein soll....
und wenn du andere Formen hast die übereinander liegen und die hauptform dann focused ist.. dann wird diese die anderen immer überdecken.....

an sonsten kannst du nach jeder aktion.. wie buttonklick etc halt noch anhängen das die form den focus bekommen soll...
tzwar etwas umständlich aber was anderes fällt mir auf die schnelle nciht ein.

MfG Real Thunder

Die Muhkuh 21. Jun 2008 15:24

Re: MainForm immer Focused
 
Hi,

vielleicht holst Du noch ein bisschen aus, was Du damit bezwecken möchtest. Vielleicht findet sich ein besseren Weg.

Lucifer 21. Jun 2008 16:01

Re: MainForm immer Focused
 
Also neben der Hauptfenster eine Form mit den Stats des Spielers welche man bei LVLup hochklicken kann
Da es aber eine andere Form ist verliert die Form mit dem Spielfeld den Focus


Vorerst hab ich es wie Real_Thunder gemacht und hunderte von SetFocus gesetzt.

Wenn es aber einfacher geht wäre trotzdem besser.

MSSSSM 21. Jun 2008 16:23

Re: MainForm immer Focused
 
du hast hunderte von setfocus gestzt? :shock:
Delphi-Quellcode:
var i:Integer;
begin
for i:=0 to ComponentIndex do
  if Components[i] is TWinControl then (Components[i] as TWinControl).SetFocus;
mfg

patti 21. Jun 2008 17:07

Re: MainForm immer Focused
 
Wie wäre es, einfach den Parent der einzelnen Formulare auf dein Hauptformular zu setzen, so à la

Delphi-Quellcode:
    form_wasweissich.parent := frmMain; // oder wie sie auch immer heißen
? Sollte eigentlich den von dir gewünschten Effekt mit sich bringen.

Patti

EDIT1: Okay, habe das mit dem Stringgrid überlesen und außerdem wären bei meinem Vorschlag die Unterformulare innerhalb der Hauptform. Also vielleicht doch keine geeignete Lösung für dich...

DeddyH 21. Jun 2008 17:16

Re: MainForm immer Focused
 
Zitat:

Zitat von MSSSSM
Delphi-Quellcode:
var i:Integer;
begin
for i:=0 to ComponentIndex do
  if Components[i] is TWinControl then (Components[i] as TWinControl).SetFocus;

Denk nochmal darüber nach :zwinker: . Das wäre das Gleiche wie
Delphi-Quellcode:
for i := 1 to 1000 do
  Zahl := i;

Die Muhkuh 21. Jun 2008 17:32

Re: MainForm immer Focused
 
Zitat:

Zitat von MSSSSM
du hast hunderte von setfocus gestzt? :shock:

Er meint wohl in jede OnClick* Prozedur ein MainForm.SetFocus oder sowas in der Art ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:58 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz