Weil dein Test Blödsinn ist und du nichtmal verifiziert hast, was GetClassName liefert.
Oder was erwartest du, wenn GetClassName "
TRichEdit" zurück gibt?
Und auch RealGetWindowClass hilft hier nicht,
auch wenn ich etwas erwartet hätte, es liefert den Basis-/Vorfahrtypen vom SuperClassing.
Hat Raymond etwa nicht Recht?
https://devblogs.microsoft.com/oldne...31-00/?p=11863
[add]
Delphi-Quellcode:
type
TWinControlAccess = class(TWinControl);
procedure TForm2.FormCreate(Sender: TObject);
var
Params: TCreateParams;
begin
TWinControlAccess(RichEdit1).CreateParams(Params);
ShowMessage(Params.WindowClass.lpszClassName);
= RICHEDIT50W
Aber das ist auch irgendwie klar, denn
Zitat:
procedure TCustomRichEdit.CreateParams(var Params: TCreateParams);
..
CreateSubClass(Params, MSFTEDIT_CLASS);
Und das zu bekommen, was mal an
CreateWindowEx übergeben wurde ...
https://stackoverflow.com/questions/...ct-of-a-window