SetCursorPos i brak Focusa

SetCursorPos i brak Focusa
U3
  • Rejestracja:prawie 13 lat
  • Ostatnio:prawie 2 lata
  • Postów:196
0

Cześć,

w jaki sposób mogę wywołać focus tak jak to się dzieje gdy np. przesunę myszkę po pulpicie na daną ikonkę i ona się podświetla?
Nie dzieje się tak w przypadku gdy ustawię kursor na tej pozycji poprzez SetCursorPos. Jest na to jakiś sposób?

KA
  • Rejestracja:prawie 20 lat
  • Ostatnio:minuta
  • Lokalizacja:Gorlice
0

O co konkretnie chodzi? Przecież zmiana pozycji kursora przez SetCursorPos powoduje podświetlenie ikony na pulpicie dokładnie tak jak przy ręcznym jego przemieszczaniu.
Programowo fokus okna (także potomnego) można wywołać wysyłając komunikat WM_SETFOCUS.


Nie odpowiadam na PW w sprawie pomocy programistycznej.
Pytania zadawaj na forum, bo:
od tego ono jest ;) | celowo nie zawracasz gitary | przeczyta to więcej osób a więc większe szanse że ktoś pomoże.
U3
  • Rejestracja:prawie 13 lat
  • Ostatnio:prawie 2 lata
  • Postów:196
0

Nie wiem czy kojarzysz w Windows 8 przycisk znajdujący się w lewym dolnym rogu ekranu (ImmersiveSwitchList) ukazujący 'nowoczesny' ekran startowy. Gdy najedziesz myszką to wyświetla się owy przycisk, ale jak wykonam setmousepos to nie reaguje, dopiero jak ruszę ręcznie myszką.

KA
  • Rejestracja:prawie 20 lat
  • Ostatnio:minuta
  • Lokalizacja:Gorlice
0

Tego to ja nie mogę sprawdzić bo mam Win 7 a próbowałeś 2 x SetCursorPos i w 2 wywołaniu zmienić pozycję o kilka nawet 1 pixel albo spróbuj wysłać komunikat coś w stylu

Kopiuj
SendMessage(GetDesktopWindow, WM_MOUSEHOVER, 0, MAKELPARAM(XPos, YPos));

Nie odpowiadam na PW w sprawie pomocy programistycznej.
Pytania zadawaj na forum, bo:
od tego ono jest ;) | celowo nie zawracasz gitary | przeczyta to więcej osób a więc większe szanse że ktoś pomoże.
U3
  • Rejestracja:prawie 13 lat
  • Ostatnio:prawie 2 lata
  • Postów:196
0

Próbowałem obydwa sposoby i nie reaguje, dziwne, bo żadne z tych menu bocznych co są wysuwane w momencie przylegania kursora do krawędzi ekranu nie reagują na SetCursorPos.

U3
  • Rejestracja:prawie 13 lat
  • Ostatnio:prawie 2 lata
  • Postów:196
1

Poradziłem sobie. Kod wygląda tak:

Kopiuj
          
SetCursorPos(X, Y); // ustaw pozycje
Mouse_Event(MOUSEEVENTF_MOVE, 0, 0, 0, GetMessageExtraInfo); // a ta linijka powoduje zamierzony efekt

Tylko jeszcze pytanie. dlaczego jeśli podstawię ten sam X i Y do Mouse_Event to kursor idzie w całkiem inne miejsce?

U3
Tutaj też sobie poradziłem :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.