Einzelnen Beitrag anzeigen

Benutzerbild von ULIK
ULIK

Registriert seit: 25. Sep 2006
Ort: Regensburg
416 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Frage an XE4 Besitzer: WM_POINTER*** API enthalten

  Alt 24. Okt 2018, 10:59
Jetzt muß ich hier doch noch mal nachhaken: Soweit hab ich schon ein paar erste Tests mit der WM_POINTERXXX API gemacht und es läuft auch. Nun gibt es ja die Möglichkeit, mit EnabeMouseInPointer(True) auch die Maus via WM_POINTERXXX zu verarbeiten. Nur schlägt bei mir der Aufruf dieser Funktion immer fehl:

Delphi-Quellcode:
uses
   ..., WinApi.WMPointer, ...

procedure TfrmMain.FormShow(Sender: TObject);
var
  nLastError: Cardinal;
begin
  // register mouse events for Pointer
  if IsMouseInPointerEnabled then
    memDebug.Lines.Add('MouseInPointer already enabled')
  else
    if EnableMouseInPointer(True) then
    begin
      memDebug.Lines.Add('tried to enable MouseInPointer');
      if not IsMouseInPointerEnabled then
        memDebug.Lines.Add('Failed to enable MouseInPointer')
    end
    else
    begin
      nLastError := GetLastError;
      memDebug.Lines.Add(Format('Failed to enable MiP: %s', [SysErrorMessage(nLastError)]));
    end;
end;
liefert mir immer 'Failed to enable MiP: Falscher Parameter' (Fehlercode 87)

Könnte das mal bitte jemand ausprobieren? Was bitte schön kann an diesem Aufruf einen falschen Parameter liefern?
Definiert ist die Funktion als
Delphi-Quellcode:
function EnableMouseInPointer(
    {_In_} fEnable: BOOL): BOOL; stdcall;
{$EXTERNALSYM EnableMouseInPointer}
und das stimmt auch mit der Beschreibung im MSDN überein.

Gibt es eigentlich sonst noch jemand, der diese API benutzt?


Danke,
Uli
  Mit Zitat antworten Zitat