Найти позицию каретки в системеDelphi , ОС и Железо , Мышка и КурсорНайти позицию каретки в системе
Оформил: DeeCo function GetCaretPosition(var APoint: TPoint): Boolean; var w: HWND; aID, mID: DWORD; begin Result:= False; w:= GetForegroundWindow; if w <> 0 then begin aID:= GetWindowThreadProcessId(w, nil); mID:= GetCurrentThreadid; if aID <> mID then begin if AttachThreadInput(mID, aID, True) then begin w:= GetFocus; if w <> 0 then begin Result:= GetCaretPos(APoint); Windows.ClientToScreen(w, APoint); end; AttachThreadInput(mID, aID, False); end; end; end; end; //Small demo: set cursor to active caret position procedure TForm1.Timer1Timer(Sender: TObject); var Pt: TPoint; begin if GetCaretPosition(Pt) then begin ListBox1.Items.Add(Format('Caret position is %d %d', [Pt.x, Pt.y])); SetCursorPos(Pt.X, Pt.Y); end; end; Статья Найти позицию каретки в системе раздела ОС и Железо Мышка и Курсор может быть полезна для разработчиков на Delphi и FreePascal. Комментарии и вопросыМатериалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Мышка и Курсор ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |