det ser godt nok imponerende ud;
jeg har rettet de fejl jeg selv kan finde ud af at rette men det kniver lidt med de her
procedure TTray.RaiseEvent(aMouse : TTIMouse; aMousePos : TPoint);
begin
if Assigned(FOnClick) then //her brokker den sig
begin
try
FOnClick(Self, aMouse, aMousePos);
except
end;
end;
end;
Min compiler svarer : Undeclared indentifier 'FOnClick'
function TTray.IsIconMessage(aMessage : TMessage) : Boolean;
var
L : TPoint;
begin
GetCursorPos(L); // hent musens position.
Result := (aMessage.Msg = WM_TRAY_NOTIFY); // se om det er en besked til os.
if (Result) then
begin // der er det, så analyser beskeden og rejs det tilsvarende event.
case Msg.Command of //her brokker den sig
WM_RButtonDown:
RaiseEvent(msRightClick, L);
WM_RButtonDblClk:
RaiseEvent(msRightDoubleClick, L);
WM_LButtonDown:
RaiseEvent(msLeftClick, L);
WM_LButtonDblClk:
RaiseEvent(msLeftDoubleClick, L);
else
Result := False;
end;
end;
end;
her svarer min compiler : Undeclared indentifier 'Msg' ,'or' ':' expected but 'OF' found
håber du vil hjælpe lidt yderligere
Hej,
FOnClick skal erstattes med "FOnEvent"......så burde den fejl være rettet.
og den sidste funktion skal se således ud:
function TTray.IsIconMessage(aMessage : TMessage) : Boolean;
var
L : TPoint;
begin
GetCursorPos(L); // hent musens position.
Result := (aMessage.Msg = WM_TRAY_NOTIFY); // se om det er en besked til os.
if (Result) then
begin // der er det, så analyser beskeden og rejs det tilsvarende event.
case TWM_TrayMessage(aMessage).WM_Value of //her brokker den sig
WM_RButtonDown:
RaiseEvent(msRightClick, L);
WM_RButtonDblClk:
RaiseEvent(msRightDoubleClick, L);
WM_LButtonDown:
RaiseEvent(msLeftClick, L);
WM_LButtonDblClk:
RaiseEvent(msLeftDoubleClick, L);
else
Result := False;
end;
end;
end;
Håber det hjælper.
Mvh
Michael.