Okna, mysz, klawiatura, timer
Wodzenie oknami za kursorem myszy
- Wzór programu
- Okna wodzące za kursorem myszy:
- zawsze ułożone jak w programie przykładowym
- uniemożliwić zmianę położenia okna w inny sposób niż wynikający z wodzenia za kursorem myszy
- menu systemowe (Alt+Spacja lub prawy przycisk myszy na przycisku okna na pasku zadań)
- przezroczystość
- domyślna wartość: ok. 50%
- klawisz '+': zwiększenie przezroczystości, klawisz '-': zmniejszenie przezroczystości
- cursor myszy:
- nad oknami powyżej i poniżej kursora myszy: kursor zmiany rozmiaru WE
- nad pozostałymi oknami: kursor zmiany rozmiaru NS
- kolor tła okna - kolor paska tytułowego aktywnego okna
- zawsze na wierzchu normalnych okien
- tylko jedno okno widoczne na pasku zadań i w okienku przełączania Alt+Tab
- przeciąganie myszy z naciśniętym lewym przyciskiem myszy: zmiana rozmiaru okien (jak w programie wzorcowym)
- wodzić za kursorem myszy tylko jeśli klawisz Scroll Lock nie jest włączony
- Wskazówki:
- przezroczystość:
- #define _WIN32_WINNT 0x0500
przed
#include <windows.h>
- WS_EX_LAYERED
- SetLayeredWindowAttributes()
- WM_TIMER
- WM_MOVING
- GetCursorPos(), WM_LBUTTONDOWN, WM_LBUTTONUP, WM_MOUSEMOVE, SetCapture()
- WM_SETCURSOR, SetCursor(), LoadCursor()
- GetKeyState(), WM_CHAR
- Przybliżona punktacja:
- 4 okna: 1.0
- ułożenie i zmiana rozmiaru: 2.0
- wodzenie za kursorem myszy (i obsługa klawisza Scroll Lock): 2.5
- uniemożliwienie zmiany położenia w inny sposób: 0.5
- menu systemowe: 0.5
- kolor tła okna: 0.5
- zawsze na wierzchu normalnych okien: 0.5
- tylko jedno okna na pasku zadań: 0.5
- przezroczystość i jej zmiana: 2.0