Einzelnen Beitrag anzeigen

Bodenseematze

Registriert seit: 10. Jul 2023
77 Beiträge
 
#3

AW: TDimPanel für BodenseeMatze

  Alt 2. Jun 2025, 09:44
Vielen Dank, Renate!

Um es unter Delphi7 zum Laufen zu bringen, muss man
  • von "uDimPanel.pas" das Encoding von UTF8+BOM auf ANSI ändern;
  • alle Aufrufe _bitmap.SetSize und _scr.SetSize aufsplitten in setzen der Properties Height/Width (TBitMap hat in D7 noch keine SetSize-Methode)
Im Demo-Projekt müssen
  • einige Properties, die es unter D7 noch nicht gibt, beim Öffnen der Form in der IDE ignoriert werden und
  • die Initialisierung mit ReportMemoryLeaksOnShutdorn auskommentiert werden

Danach funktioniert es sehr gut bei mir - habe in "FormCreate" nach erzeugen der fMyWinControls noch die eigene Form zur Liste hinzugefügt:
Code:
  fMyWinControls := TList.Create;
  fMyWinControls.Add(self);
Damit lässt sich dann auch die gesamte Form "dimmen" - das ist das, was ich benötige...
(wobei hierbei leider die Titelzeile voll sichtbar und aktiv bleibt - aber das ist wg. der Lösung mit dem abhängigen DimPanel so...)
...meine eigene Lösung war bisher mit einer eigenen "DimForm", die sich über die zu dimmende Form legt.
Das hat aber ein paar Probleme, da das Handling der beiden Forms (die DimForm und die eigentliche) synchronisiert werden muß;
z.B. wird beim Doppelklick auf das Taskleistensymbol das eigentliche Fenster minimiert, die DimForm bleibt aber stehen...
(da habe ich noch keine Lösung für gefunden - finde einfach nicht die richtige Event-Methode / Windows-Message dafür)
...das Problem taucht mit der Lösung über ein Panel naturgemäß nicht auf!

Ich werde mal schauen, ob / wie ich die Panel-Lösung bei mir integrieren kann (und ggf. noch die Titelzeile der Form "abdimmen" kann).
  Mit Zitat antworten Zitat