AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

frame "aktivieren"

Ein Thema von schorsch666 · begonnen am 29. Feb 2024 · letzter Beitrag vom 4. Mär 2024
Antwort Antwort
Seite 1 von 2  1 2      
schorsch666

Registriert seit: 21. Apr 2011
81 Beiträge
 
#1

frame "aktivieren"

  Alt 29. Feb 2024, 13:13
moin in die runde,
ich habe in meinem prog 3 frames und habe das problem, dass ich die nicht so "aktiviert" bekomme, also dass darin zb die hints/mouseenter... nur funktionieren, wenn ich in das frame einmal reinklicke.

habe schon alles moegliche versucht mit "click eines buttons im frame" per code, etcpp. aber nix funzt. hat jemand ne idee?

tks vorab...

...de Schorsch
  Mit Zitat antworten Zitat
Frickler

Registriert seit: 6. Mär 2007
Ort: Osnabrück
591 Beiträge
 
Delphi XE6 Enterprise
 
#2

AW: frame "aktivieren"

  Alt 29. Feb 2024, 17:53
Frame.SetFocus im OnShow des Formulars?
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.093 Beiträge
 
Delphi 12 Athens
 
#3

AW: frame "aktivieren"

  Alt 29. Feb 2024, 17:56
VCL oder FMX?

FMX - HitTest?
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
677 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: frame "aktivieren"

  Alt 29. Feb 2024, 19:33
Was spricht dagegen TForm anstelle von TFrame zu verwenden?
Ich kann mich nicht erinnern wann ich das letzte mal Frames verwendet habe. Komplette Fenster haben keine Nachteile. Außer vieleicht ein paar mehr Bytes im Speicher.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.452 Beiträge
 
Delphi 12 Athens
 
#5

AW: frame "aktivieren"

  Alt 29. Feb 2024, 22:14
Ich gehe tendenziell in genau die andere Richtung: Die Anwendung (und damit auch die GUI) mit Frames partitionieren und nach Bedarf zusammensetzen. Frames werden dynamisch erzeugt, je nachdem welcher gebraucht wird. Sollte es wirklich mal nötig sein, kann auch mal gerade ein Form erzeugt werden, das den Frame aufnimmt. Am Ende gibt es (außer eventueller Vererbung) im Wesentlichen nur das MainForm in der Anwendung und eben diese dynamischen Wrapper z.B. für floating, stay-on-top oder dialogbasierte Forms.

Ehrlich gesagt habe ich das eigentliche Problem auch noch gar nicht verstanden.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.354 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: frame "aktivieren"

  Alt 1. Mär 2024, 07:10
Ehrlich gesagt habe ich das eigentliche Problem auch noch gar nicht verstanden.
Ich vermute, dass die Form nicht das OnHint der Frames berücksichtigt. Ich habe zwar schon Frames genutzt, aber weiß nicht, was dafür gemacht werden muss. Dafür benutze ich OnHint zu selten.

@Schorsch: Eventuell ist parent der Frames falsch gesetzt.
Peter
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#7

AW: frame "aktivieren"

  Alt 1. Mär 2024, 09:44
Wenn man den Frame sieht, kann eigentlich der Parent nicht ganz falsch sein.

Ob direkt auf der Form oder z.B. in einem Panel, GroupBox und Anderen, macht eigentlich auch keinen großen Unterschied.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.452 Beiträge
 
Delphi 12 Athens
 
#8

AW: frame "aktivieren"

  Alt 1. Mär 2024, 10:05
Diese Formulierung ist für mich unklar:
habe das problem, dass ich die nicht so "aktiviert" bekomme, also dass darin zb die hints/mouseenter... nur funktionieren, wenn ich in das frame einmal reinklicke.
Ist es gewünscht, dass die hints/mouseenter... nur funktionieren, wenn ich in das frame einmal reinklicke oder ist es das Problem, dass man erst reinklicken muss?

Wie so oft wäre ein kleines Beispielprojekt, mit dem man das Problem nachstellen kann, sehr hilfreich.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
schorsch666

Registriert seit: 21. Apr 2011
81 Beiträge
 
#9

AW: frame "aktivieren"

  Alt 1. Mär 2024, 10:38
moin in die runde.
erstmal tks fuer die rege beteiligung.

vorab: ist ein fmx projekt.

also, um das nochmal bissi naeher zu erlaeutern (is halt bissi trickey): ich habe ein mainform, das ein TGridLayout beinhaltet und das hat 3 x dasselbe form jeweils als frame integriert. und ihr muesst euch das in etwa so vorstellen - nehmen wir nen explorer - dass man bis zu 3 "explorer" aufklappen kann (in wirklichkeit wird einfach animiert das TGridLayout um die breite eines forms verbreitert/verschmaelert), sodass ich also max. 3 "explorer" nebeneinander haben und nun per drag and drop mit denen interagieren kann (war bissi schwierig, weil drdr unter fmx nicht so einfach ist . und das form - also jew. die frames - haben eben buttons, etc. drin, die auf onMouseEnter, etc. reagieren. Und die wiederum zeigen im mainform eine jew. info an - das funzt halt auch - manchmal von alleine - aber manchmal eben nur, wenn ich in den frame reinklicke.

hab schon alles moegliche versucht mit onmouseenter, onmousemove... im frame und setfocus, ... - doch da laeuft er irgendwie garnicht rein.

übrigens: das parent ist das TGridLayout im main und "OnHint" benutze ich auch nicht - mouseenter/leave eben.

Update: bevor ich euch jetzt zu viel arbeit macht: in den frames (form) ist wiederum ein tabcontrol mit mehreren tabs und ich habe jetzt soweit rausbekommen, dass wenn ich voraerts in den tabs springe klaut irgendwas den focus, denn beim "zurueckgehen" passiert das nicht. demnach muss ich noch bissi...

...de Schorsch

Geändert von schorsch666 ( 1. Mär 2024 um 11:58 Uhr)
  Mit Zitat antworten Zitat
bcvs

Registriert seit: 16. Jun 2011
703 Beiträge
 
Delphi 12 Athens
 
#10

AW: frame "aktivieren"

  Alt 1. Mär 2024, 12:13
Zitat:
und das hat 3 x dasselbe form jeweils als frame integriert.
Ja was denn nun? TForm oder TFrame? Das ist schon ein Unterschied.

Wenn es ein TForm ist, gibt es hier vielleicht die Lösung:
https://www.delphipraxis.net/161097-...ml#post1106980

SendMessage(MyForm.Handle , WM_NCACTIVATE, 1, 0);
Wobei MyForm das eingebettete Form ist.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 05:03 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