|
|
|
Pixel => Foxel
|
|||
|---|---|---|---|
|
#18+
Как узнать координаты объекта в тех величинах, которые возвращает: MCol(), MRow() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2005, 07:37:33 |
|
||
|
Pixel => Foxel
|
|||
|---|---|---|---|
|
#18+
А кто мешает вернуть сразу Pixels!? MCOL(cWindowName , 3). И тоже самое в MROW() С уважением, Алексей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2005, 10:57:46 |
|
||
|
Pixel => Foxel
|
|||
|---|---|---|---|
|
#18+
Прошу прощения, если я неправильно сформулировал. Мне нужно под объектом, при нажатии определенного сочетания клавиш выдать ваыпадающее меню. А оно координаты принимает только в Фокселях (колонки и строки). Я же имею только Пиксели ... (This.Top, This.Left) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2005, 11:45:31 |
|
||
|
Pixel => Foxel
|
|||
|---|---|---|---|
|
#18+
Мне нужно под объектом, при нажатии определенного сочетания клавиш выдать ваыпадающее меню. В этом деле очень важно найти подходящее сочитание клавиш. Вот левая кнопка мыши подходит неплохо. Там еще в методе кординаты клика указаны. Скока трудностей сразу пропадет ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2005, 11:53:01 |
|
||
|
Pixel => Foxel
|
|||
|---|---|---|---|
|
#18+
ох ох кнопка конечно правая а не левая ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2005, 11:54:42 |
|
||
|
Pixel => Foxel
|
|||
|---|---|---|---|
|
#18+
Кнопка вообще на клавиатуре !! :-)) Ну привыкли юзвери в досе работать !! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2005, 12:26:39 |
|
||
|
Pixel => Foxel
|
|||
|---|---|---|---|
|
#18+
1) Использовать FontMetric() для определения средней ширины и высоты шрифта (хотя, точность не особо высокая) 2) Использовать команду MOUSE для перевода указателя мыши в нужное положение (в пикселах), а потом MROW() и MCOL(). Затем можно вернуть указатель мыши в исходное положение. Код: plaintext 1. 2. 3. 4. 5. 6. Хотя, что-то этот MOUSE - глючит. Надо принудительно ставить задержку после MOUSE для корректного перемещения (Inkey(0.1)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2005, 13:00:19 |
|
||
|
Pixel => Foxel
|
|||
|---|---|---|---|
|
#18+
Maltsev Max Я же имею только Пиксели ... (This.Top, This.Left) Если я правильно понял - нужно просто перевести пиксели в фоксели? Есть же какие-то коэффициенты перевода - не помню, где видел. А вот попробовал сейчас - и увидел такую вещь - что выходит, что фоксели по горизонтали и по вертикали по-разному вычисляются? Я кинул метки на форму - и получмл (через MCOL(),MROW()), примерно конечно: по горизонтали 100 пикселов = 20 фокселов по вертикали 300 пикселов = 20 фокселов Даже отсюда можно вычислить с точностью в пределах экрана подходящей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2005, 13:56:30 |
|
||
|
Pixel => Foxel
|
|||
|---|---|---|---|
|
#18+
1 фоксель - это размер одной буквы. Естесственно, что ширина буквы меньше ее высоты. Это наследство DOS-версии, когда размер букв был одинаковым для любых шрифтов. Соответсвенно, для перевода из пикселей в фоксели надо использовать среднюю ширину и высоту текущего шрифта. А это как раз и дает функция FontMetric(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2005, 14:05:05 |
|
||
|
Pixel => Foxel
|
|||
|---|---|---|---|
|
#18+
Crispyпо горизонтали 100 пикселов = 20 фокселов по вертикали 300 пикселов = 20 фокселов На сколько я знаю, количество пикселей зависит от разрешения экрана ... Но в данном случае, наверо, этим можно пренебречь.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2005, 14:12:07 |
|
||
|
Pixel => Foxel
|
|||
|---|---|---|---|
|
#18+
Hi Maltsev Max! Если фокс более-менее свежий, то рекомендую посмотреть пример New Style Toolbar (в сэмплах) - там умудряются попап-меню даже под кнопку задоканного тулбара корректно подставить! Можно конечно сказать что они это делают там через одно место, но главное что это работает :) Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2005, 03:44:54 |
|
||
|
Pixel => Foxel
|
|||
|---|---|---|---|
|
#18+
Для формы все просто. В момент вывода меню установи .ScaleMode = 0 , считай в переменные координаты нужного объекта и тут же верни .ScaleMode = 3 . Кроме упомянутого решения из New Style Toolbar посмотри на обсуждение по ссылке: http://forum.foxclub.ru/read.php?f=5&i=71527&t=71527 , т.к. в большинстве случаев меню правильнее позиционировать относительно Screen'а(TopLevel Form), иначе размер Popup'а будет ограничиваться размерами формы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2005, 07:38:05 |
|
||
|
|

start [/forum/topic.php?fid=41&gotonew=1&tid=1594050]: |
0ms |
get settings: |
12ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
149ms |
get topic data: |
12ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
73ms |
get tp. blocked users: |
2ms |
| others: | 239ms |
| total: | 525ms |

| 0 / 0 |
