Каким образом можно из компонента считать данные его нижних точек MouseX и MouseУ
Не хотелось бы тянуть внешний линк на самого себя - это странно.
Также, как можно из компонента (через код) получить доступ к его событиям OnMouseMove, OnMouseDown и т.д.
Имеются ввиду именно те точки, которые включаются галками, желтого цвета. Они типа наследуются от родит. компонента и потому прямого доступа к переменным подающимся на них нету. Или есть?
Add(Label,10682795,301,119)
{
Left=300
Top=245
Point(MouseX)
Point(MouseY)
}
Этот топик читают: Гость
Ответов: 1291
Рейтинг: 47
|
|||
карма: 3 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
Aziz писал(а): Каким образом можно из компонента считать данные его нижних точек MouseX и MouseУПеренаправить события OnMouseMove, OnMouseDown на свой компонент и по аналогии с win.pas сделать обработку координат |
|||
карма: 22 |
|
Ответов: 4631
Рейтинг: 749
|
|||
Нижнюю точку, кажется, можно считать так:
var D: TData;
_var_MouseX(D, 0); _debug(ToInteger(D)); |
|||
карма: 26 |
|
Ответов: 1291
Рейтинг: 47
|
|||
nesco, спасибо. В 2005 один чел здесь такой вопрос задавал.. Как события мыши в коде отловить. Безрезультатно - Дилма нарисовал ему схему в ответ.))
А практически на эл-те Label не покажете? То есть это гораздо сложнее чем линком соединить на самого себя? Я думал там достаточно обращения к имени какой-то хитрой струкуры.. Раз готовые точки нижние имеются. Но видимо проще проводками..)) ------------ Дoбавленo в 17.50: Опс, пока писал уже ответили.)) Спасибо, Netspirit, попробую сейчас. ------------ Дoбавленo в 17.57: Нет, не вышло. Возвращает 0. |
|||
карма: 3 |
|
Ответов: 4631
Рейтинг: 749
|
|||
Зависит от того, куда ты вставил этот код. Во время считывания мышь должна находиться над элементом или побывать там раньше.
|
|||
карма: 26 |
| ||
Голосовали: | Aziz |
Ответов: 1291
Рейтинг: 47
|
|||
Точно.. Не сообразил. Теперь все заработало:
code_31906.txt code_31909.txt Мне все это понадобилось потому что пытался встроить внутренний обработчик мыши от Plottera в элемент Grapher3. Работал прекрасно, пока не захотел вывести хоть одно его событие мыши наружу, чтоб повесить меню. И тут он начал конфликтовать с унаследованными встроенными методами - прога вылетала при попытке щелкнуть по элементу. Тогда я понял что нужно пользоваться только встроенными методом, подавая его с выхода элемента на его вход. И вот тут возникло желание обойтись без проводов.. ------------ Дoбавленo в 18.39: Хорошо бы еще события отловить. |
|||
карма: 3 |
| ||
файлы: 2 | code_31906.txt [164B] [281], code_31909.txt [191B] [281] |
Ответов: 4631
Рейтинг: 749
|
|||
События можно через override получить, например, как _onMouseDown в ImgBtn.
|
|||
карма: 26 |
|
Ответов: 1291
Рейтинг: 47
|
|||
Глянул, но там только OnClick нашел внутри..
|
|||
карма: 3 |
|
Ответов: 4631
Рейтинг: 749
|
|||
Глянь ещё раз.
|
|||
карма: 26 |
|
Ответов: 1291
Рейтинг: 47
|
|||
Глянул.)
code_31910.txt ------------ Дoбавленo в 21.39: Тут походу еще проблема нарисовалась - никто не знает как заставить компонент Grapher3 подчиняться программно свойствам Align, Width и пр? До компиляции если установить - все работает, а в рантайме - не хочет меняться. Хотел сделать возможность развертывания графика на весь экран, но из-за этого не вышло. |
|||
карма: 3 |
| ||
файлы: 1 | code_31910.txt [2.4KB] [416] |
Ответов: 8928
Рейтинг: 823
|
|||
Aziz писал(а): ..заставить компонент Grapher3.. |
|||
карма: 19 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
Aziz писал(а): Глянул.)У тебя дремучий релиз этого компонента |
|||
карма: 22 |
|
Ответов: 1291
Рейтинг: 47
|
|||
Ясно, спасибо.. А насчет несрабатывания некоторых стандартных методов при срабатывании остальных? Почему Алайн не срабатывает (через doWork) также как и Видф и Хайт, в то время как Х и У мыши присутствуют и мышиные обработчики, также при помощи оконных компонентов через хендл можно поменять положение окна, но нельзя изменить размер. В чем причина?
|
|||
карма: 3 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
Aziz писал(а): также при помощи оконных компонентов через хендл можно поменять положение окна, но нельзя изменить размерДа ладно
|
|||
карма: 22 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
nesco писал(а): Да ладно |
|||
карма: 25 |
|