Лабораторная работа: Обчислення координат курсору миші при переміщенні
…
T2 = clock(); // цей рядок пишемо в обробник WM_RBUTTONDOWN
DT = T2 – T1;
Speed = S / DT
Тепер залишається тільки вивести значення в вікно.
Для виведення отриманих текстових рядків можна використати функцію TextOut(). Вона вигідна тим, що дозволяє виводити в визначені координати вікна. координата курсор миша переміщення
Виведення отриманих рядків необхідно робити тільки в обробці повідомлення WM_PAINT. Воно приходить тоді, коти операційна система вважає, що інформація в нашому вікні застаріла.
Якщо, нам потрібно згенерувати повідомлення WM_PAINT, то викликаємо функцію InvalidateRect(), яка повідомляє ОС про те що якась частина нашого вікна (або все вікно) застаріло. Виклик цієї функції ми робимо кожний раз, коли необхідно перемалювати вікно.
Програмний код
#include <windows.h>
#include <math.h>
#include <time.h>
#include <tchar.h>
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);
int cX, cY, sX,sY;
double speed;
double T1 = 0, T2 = 0;
double S = 0;
int wayOnTable;
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
static TCHAR szAppName[] = _T("HelloWin") ;
HWND hwnd ;
MSG msg ;
WNDCLASSEX wndclass ;
wndclass.cbSize = sizeof (wndclass) ;
wndclass.style = CS_HREDRAW | CS_VREDRAW ;
wndclass.lpfnWndProc = WndProc ;
wndclass.cbClsExtra = 0 ;