Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » вопрос по external и др

Страниц (21): В начало « ... 12 13 14 15 [16] 17 18 19 20 ... » В конец
 

151. Dantes3000 - 11 Сентября, 2019 - 07:40:41 - перейти к сообщению
 007wan пишет:
знаки вопроса у себя в голове объявил - ты его не увидел.


Я ответ у себя в голове обдумал, только ты его не увидел
152. 007wan - 11 Сентября, 2019 - 07:45:05 - перейти к сообщению
 Dantes3000 пишет:
Я ответ у себя в голове обдумал, только ты его не увидел
А чё так?
(Добавление)
Как получить координаты контрола(координаты, габариты)?
Вроде через GetWindowRect,но не знаю как заполнить ее
153. Zireael - 11 Сентября, 2019 - 17:33:57 - перейти к сообщению
 Цитата:
Как получить координаты контрола(координаты, габариты)?

А чем вариант выше не устраивает?
 Цитата:
Вроде через GetWindowRect

CODE:
#define WS_VISIBLE 268435456
#define WS_CHILD 1073741824
#define WS_BORDER 8388608
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
external(INT, "GetWindowRect", "GetWindowRect", "User32.dll");

int b0, rect_window[4];

createdialog(0);
showdialog(0, "Диалог",100, 100, 300, 300, 1, 1);

if(GetWindowRect(b0, address(#rect_window[0])))
{
messagebox("Ширина кнопки:"+format(rect_window[2]-rect_window[0]));
messagebox("Высота кнопки:"+format(rect_window[3]-rect_window[1]));
}

function getmessage(0, WM_CREATE)
{
b0=CreateWindow(0, "BUTTON", "Кнопка", WS_BORDER | WS_CHILD | WS_VISIBLE, 20, 10, 100, 30, gethwnd(0), 0, 0, 0);
}

А вообще есть GetWindowInfo.
154. 007wan - 11 Сентября, 2019 - 23:27:49 - перейти к сообщению
А координаты где? Интересует по y-координата. Ну или обе.
(Добавление)
GetClientRect нашел.
Думаю я смогу похожеесделать.
155. Zireael - 12 Сентября, 2019 - 02:04:35 - перейти к сообщению
 Цитата:
А координаты где?

rect_window[0] - координата X.
rect_window[1] - Y.
156. 007wan - 12 Сентября, 2019 - 05:35:52 - перейти к сообщению
 Zireael пишет:
rect_window[0] - координата X.
rect_window[1] - Y.
Не правда.
Код (Отобразить)

Результат: messagebox('123'); messagebox('135');
Показывать должен:
 Цитата:
b0=CreateWindow(0, "BUTTON", "Кнопка", WS_BORDER | WS_CHILD | WS_VISIBLE, 20, 10, 100, 30, gethwnd(0), 0, 0, 0);

(Добавление)
 Zireael пишет:
А вообще есть GetWindowInfo.
Сложно и много. Лишнее не нужно.
---
И чего?
Код (Отобразить)
И чего не так?
(Добавление)
Результат:
 Цитата:
messagebox(format(rect_window[0] = '0'));
messagebox(format(rect_window[1] = '0'));
messagebox(format(rect_window[2] = '98'));
messagebox(format(rect_window[3] = '28'));
157. Zireael - 12 Сентября, 2019 - 05:45:43 - перейти к сообщению
 Цитата:
rect_window[0] - координата X.
rect_window[1] - Y.
Не правда.

Правда. Координаты экранные.
 Цитата:
И чего не так?

Всё так. 2 пикселя рамка WS_BORDER.
158. 007wan - 12 Сентября, 2019 - 05:47:02 - перейти к сообщению
 Zireael пишет:
 Цитата:
rect_window[0] - координата X.
rect_window[1] - Y.
Не правда.

Правда. Координаты экранные.
 Цитата:
И чего не так?

Всё так. 2 пикселя рамка WS_BORDER.

А почему не пишет 10, 20 координаты? А? Рамка же не 20 или 10.
(Добавление)
Как сделать, что бы оконные показал координаты? 10 и 20 и всегда точно
159. ivantu - 12 Сентября, 2019 - 05:50:43 - перейти к сообщению
 Zireael пишет:
Результат: messagebox('123'Подмигивание; messagebox('135'Подмигивание;


Это Координаты Окна
160. 007wan - 12 Сентября, 2019 - 05:52:21 - перейти к сообщению
 ivantu пишет:
 Zireael пишет:
Результат: messagebox('123'); messagebox('135');


Это Координаты Окна
Я уже давно знаю. Не уточнил, нужно координаты контрола в окне, а не экранные.
(Добавление)
 ivantu пишет:
Это Координаты Окна
ой, это же координаты экранные, он же написал. А мне нужно оконные(диалоговые), от этого диалога. Должны совпадать 10 и 20 как при создании контрола

Powered by ExBB FM 1.0 Final