Wpis z mikrobloga

#programowanie #cpp #windows

winPeep

Kod (pastebin): http://pastebin.com/Shp7eiEJ

Aplikacja (speedyshare): http://speedy.sh/mEVxn/winPeep.exe

Na pewno przydarzyło się wam kiedyś, że jakaś aplikacja otworzyła nowe okno, którego wysokość była większa od wysokości waszego pulpitu, a dodatkowo nie dało się zmienić rozmiaru tego okna. W konsekwencji jego część (najczęściej wraz z przyciskiem OK, który chcieliśmy kliknąć) znalazła się poza ekranem i w żaden sposób nie dało się okna przesunąć wyżej.

Taka sytuacja przydarzyła mi się wielokrotnie, dlatego w końcu napisałem prostą aplikację, która sprawdza, czy aktywne okno jest zbyt duże i przesuwa je w górę lub w dół w zależności od tego, gdzie znajduje się kursor myszy. Jeśli myszkę przesuniemy do góry, okno przesuwa się w dół, i na odwrót.

Aplikacja nie jest jeszcze dopracowana, ale podstawowa funkcjonalność jest zaimplementowana.

To co na pewno należy zmienić, to ignorowanie zmaksymalizowanych okien, bo takie są też traktowane jako zbyt duże.

EDIT: Całość napisałem za pomocą WinApi, aby wszystko było w jednym pliku i bez dodatkowych bibliotek.
  • 9
Pod KDE to dość fajnie rozwiązali (w KWin dokładniej), bo można dowolne okno załapać w dowolnym miejscu i przenieść - wystarczy trzymać wciśnięty klawisz Alt.

Niemniej jednak takie rozwiązanie też jest fajne.

@physicist: A co jeśli okno nie jest za duże, a po prostu jest tak przesunięte w dół, że przyciski są poza pulpitem - czy wtedy też bedzie przesuwało okno do góry?