Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Borderstyle bsNone deaktiviert Global-Hotkey?

  Alt 27. Mai 2024, 00:58
Das Umschalten des FormStyle zerstört das interne HWND (Window-Handle) und generiert ein vollkommen neues Form.
Somit ist auch ALLES weg, was im OnCreate registriert wurde, und was keine Kopie im Delphi-Objekt besitzt, also nicht automatisch wiederhergestellt wird.
siehe DestroyHandle im TCustomForm.SetFormStyle

Das Selbe gilt auch für alle untergeordneten HWND (Panels, Edits, Buttons usw.)

Außerdem kann sowas passieren, wenn der PC oder der Monitor/Grafikkarte in den Standby wechselt oder wenn man sich in eine Terminal-Sitzung einloggt oder von ihr trennt, sich per RDP mit dem Rechner verbindet und in tausenden anderen Situationen.

mögliche Lösungen:
Delphi-Quellcode:
procedure CreateWindowHandle(const Params: TCreateParams); override;
procedure CreateWnd; override;
...
$2B or not $2B

Geändert von himitsu (27. Mai 2024 um 01:17 Uhr)
  Mit Zitat antworten Zitat