IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

> использование SystemParametersInfo, С++ builder6
18192123
сообщение 19.09.2008 18:23
Сообщение #1


Профи
****

Группа: Пользователи
Сообщений: 920
Пол: Женский
Реальное имя: Марина

Репутация: -  2  +


Объясните пожалуйста, какие параметры нужно передать в SystemParametersInfo, чтоб получить зна-ние параметров SPI_GETICONTITLEWRAP и SPI_GETMOUSETRAILS, и изменить SPI_SETICONTITLEWRAP и SPI_SETMOUSETRAILS ?


SystemParametersInfo(SPI_GETICONTITLEWRAP,?,?,?);
SystemParametersInfo(SPI_GETMOUSETRAILS,?,?,?);
SystemParametersInfo(SPI_SETICONTITLEWRAP,?,?,?);
SystemParametersInfo(SPI_SETMOUSETRAILS,?,?,?);

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 26.09.2008 18:53
Сообщение #2


Гость






Цитата
вот только мне не понятно, что здесь имеется ввиду?
Это называется "прямоугольник нависания". При прохождении мыши над окном (или оконным элементом, не важно) этот элемент получает сообщение WM_MOUSEHOVER, если мышь находится над его клиентской областью в течении определенного времени (получить это время можно через SPI_GETMOUSEHOVERTIME). Так вот те 2 параметра, которые тебе непонятны - это максимальное смещение по горизонтали/вертикали, при котором сообщение WM_MOUSEHOVER еще будет получено. Если за время, полученное через SPI_GETMOUSEHOVERTIME, мышь либо по горизонтали либо по вертикали сместится больше, чем задано параметрами SPI_GETMOUSEHOVERWIDTH и SPI_GETMOUSEHOVERHEIGHT, это будет означать, что она перемещается слишком быстро, и не "нависает" над окном, а просто передвигается, и WM_MOUSEHOVER окну не посылается...

Цитата
И как использовать ф-цию SystemParametersInfo с указанным параметром?

Вот так, например:
	int hoverwidth = 0, hoverheight = 0;
	SystemParametersInfoA(SPI_GETMOUSEHOVERWIDTH, 0, &hoverwidth, 0);
	SystemParametersInfoA(SPI_GETMOUSEHOVERHEIGHT, 0, &hoverheight, 0);

	AnsiString s = "";
	s.printf("Width = %d, Height = %d", hoverwidth, hoverheight);
	ShowMessage(s);

 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 29.07.2025 5:29
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"