Hi Luckie,
Ich habe mal ein Beispiel:
Delphi-Quellcode:
// TNVCLButton constructor. Nachdem der Button erstellt ist
DefProc := TWNDProc(Pointer(GetWindowLong(
Handle,GWL_WNDPROC)));
// Dann im eigentlichen Quelltext
Button1.Caption := '
bla';
// =>
procedure TNVCLButton.SetCaption(
const Value:
String);
begin
SetWindowText(
Handle,PChar(Value));
FCaption := Value;
// hier kommt man niemals an
end;
// =>
procedure TNVCLControl.WndProc(
var Message: TMessage);
begin
case Message.Msg
of
WM_COMMAND:
begin
if hiWord(
Message.WParam) = BN_CLICKED
then
if Assigned(FOnClick)
then
FOnClick(Self);
end;
WM_PAINT:
begin
if FVisible
then
DoPaint;
end;
end;
// =>
Message.Result := DefProc(FHandle,
Message.Msg,
Message.WParam,
Message.LParam);
// <--- Da knallts dann
end;
Wobei DefProc <> nil. Und ohne Manifest funktioniert es auch.
Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."