Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#1

Verständnis problem TrackMouseEvent

  Alt 7. Jul 2011, 09:24
Habe damit noch nicht gearbeitet daher nur eine Frage ist die implementierung so OK?

Delphi-Quellcode:
var
  FTrackMouseEvent: function(var EventTrack: TTrackMouseEvent):BOOL; stdcall;
Bei

constructor THookedCombo.Create;
...
Delphi-Quellcode:
// Library Laden
TrackUser32 := FuncExported('TrackMouseEvent', 'User32.dll');

Delphi-Quellcode:
function THookedCombo.FuncExported(stFunc, stModul: PWideChar): Boolean;
var
  GetModule: Cardinal;

begin

  Result := False;

  GetModule := GetModuleHandleW(stModul);
  try
    if GetModule = 0 then
      GetModule := LoadLibraryW(stModul);

    if GetModule <> 0 then
      if GetProcAddress(GetModule, stFunc) <> nil then
        Result := True;

  finally
    FreeLibrary(GetModule);
  end;
end;

auswerten!
Delphi-Quellcode:
    WM_MOUSEMOVE:
      begin
        CtrlState(WinHandle, Down);
        TrackMouse(WinHandle);
      end;
Delphi-Quellcode:
procedure THookedCombo.TrackMouse(WinHandle: HWND);
var
  Tme : TTRACKMOUSEEVENT;
begin

  Tme.cbSize := SizeOf(TTrackMouseEvent);
  Tme.dwFlags := TME_LEAVE;
  Tme.hwndTrack := WinHandle;
  FTrackMouseEvent := @TrackMouseEvent;

  if TrackUser32 then
    FTrackMouseEvent(Tme);

end;

gruss
  Mit Zitat antworten Zitat