C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  Update World C++: Сборник GPL QT исходников
  Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Нетология

 88 - ClipCursor() и GetClipCursor() / Win 32 API / Win32 API

Шаг 88 - ClipCursor() и GetClipCursor()

Функция ClipCursor() устанавливает область передвижения курсора:

BOOL ClipCursor
(
	CONST RECT *lpRect	// ограничивающий прямоугольник
);

Эта функция также запрещает перемещать курсор за пределы области функцией SetCursorPos(). Даже, если это произойдет курсор немедленно вернется в заданную область. Следует отметить, что установка области курсора влияет на все программы, а не только на ту, которая вызвала ClipCursor(). Если функция успешна, то она возвращает ненулевое значение.

Вторая функция GetClipCursor() получает область передвижения курсора:

BOOL GetClipCursor
(
	LPRECT lpRect   // область ограничения курсора
);

Если функция успешна, то она возвращает ненулевое значение. Посмотрите на пример ниже. Если Вы его запустите на выполнение, то курсор будет некоторое время находиться в правом верхнем углу экрана и Вы его оттуда не выгоните:

// TestAPI.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "windows.h"
#include "iostream.h"

void main()
{
	RECT r1;
	RECT r2;
	if (GetClipCursor(&r1))
	{
		SetRect(&r2,1,1,50,50);
		if (ClipCursor(&r2))
		{
			cout << "Clip Cursor" << endl; 
			Sleep(10000);
			ClipCursor(&r1);
		}
		else cout << "Error Clip Cursor" << endl;
	}
	else cout << "Error GetClipCursor " << endl;
}

Эта функция очень полезна, если Вам нужно гарантировать, что ввод будет завершен. Например, Вы рисуете линию и после установки первой точки лучше ограничить область ввода экраном программы. Так же удобно применять этот метод при вводе паролей.


| |
Автор Каев Артем.
[AD]





Letyshops [lifetime]