Что нового

Получение позиции элемента

Cytrus

Новичок
Сообщения
110
Репутация
3
Привет, а что, разве нет родной GuiCtrl... функции для получения координат элемента Gui?

Я имею ввиду, что не через окна искать.

Установка есть.

Код:
GUICtrlSetPos


А получение координат позиции и размера, я что-то не могу найти.
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
так как создаешь элементы сам, то можно сразу сохранять их позиции в массиве для каждого элемента. тогда в любой момент определишь позицию. это и есть программирование :smile:
либо
Код:
ControlGetPos
 
Автор
Cytrus

Cytrus

Новичок
Сообщения
110
Репутация
3
Дело в том, что мне надо часто обновлять координаты. В том числе и в циклах.
Т.е., надо частые запросы к хэндлу.
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
сложности в этом нет. все будет работать. ты хочешь перемещать элементы?
 
Автор
Cytrus

Cytrus

Новичок
Сообщения
110
Репутация
3
Изменять размеры, и соответственно, позиции.
Ведь в цикле 1000 раз в секунду искать окно, и получать позиции элементов - не очень логично, практично и эстетично.

И так для каждого элемента интерфейса.
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
можно подключить WM_SETCURSOR и получать данные от элемента.
но если перемещать, то текущие данные получишь через ControlGetPos. В любом случае, всегда происходит опрос элементов на действие.
посмотри мой проект
что именно ты хочешь реализовать, примерно. если не секрет
 
Автор
Cytrus

Cytrus

Новичок
Сообщения
110
Репутация
3
Та пишу обычную программку. Там есть разделители для ListView, GUICtrlCreateEdit-ов.

Хочу сделать нормальный разделитель, чтобы его мышью перемещать.
Изобретаю велосипед, который давно уже изобретён.
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
так вроде есть такая библиотека. на официальном форуме.
хотя можно и свое сделать. смотря какая сложность: окно на две части делить или на несколько
 
Автор
Cytrus

Cytrus

Новичок
Сообщения
110
Репутация
3
Да на две части. По вертикали.

Так я уже сделал, работает.
Но когда изменишь размер окна, развернёшь или мышью растянешь,
то соответственно, надо обновлять размеры двух листвиевов.

А как, непонятно.

WM_SIZE срабатывает до того, когда размеры уже изменены.
Т.е., я уже изменил размер, но а это оконное сообщение ещё показывает старые значения.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Cytrus
На вопрос "Получение позиции элемента" - ControlGetPos.

[?]
работает.Но когда изменишь размер окна, развернёшь или мышью растянешь,то соответственно, надо обновлять размеры двух листвиевов.
Так всё таки не работает ;).

[?]
Это уже отдельная тема.
 
Верх