Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (1): [1]   

> Без описания
neba2101
Отправлено: 25 Февраля, 2024 - 23:12:37
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 142
Дата рег-ции: Февр. 2017  
Репутация: 4




Как сделать растягивающийся диалог? Что бы при наведении на край или угол диалога можно было изменить его размер. И как подстроить изменение размера диалога к некоторым контролам (EDIT и LISTBOX) чтобы они тоже меняли размер при изменении размера диалога? Спасибо!

(Отредактировано автором: 25 Февраля, 2024 - 23:27:47)

 
 Top
Zireael
Отправлено: 25 Февраля, 2024 - 23:42:35
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4398
Дата рег-ции: Нояб. 2017  
Репутация: 580




CODE:
#define GWL_STYLE -16
#define WS_VISIBLE 0x10000000
#define WS_OVERLAPPEDWINDOW 0xCF0000
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll");
external(INT, "SetWindowLong", "SetWindowLongA", "User32.dll");

createdialog(0);
showdialog(0, "Диалог", 300, 300, 500, 400, 1, 1);
SetWindowLong(gethwnd(0), GWL_STYLE, WS_VISIBLE | WS_OVERLAPPEDWINDOW);

loop()sleep(10);


function getmessage(0, WM_SIZE)
{
// тут нужные действия с контролами
int Width = loword(message.lparam);
int Height = hiword(message.lparam);
textout(0, 200, 100, "Ширина окна: "+format(Width)+" Высота окна: "+format(Height), 0);
}
 
 Top
neba2101
Отправлено: 26 Февраля, 2024 - 13:43:28
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 142
Дата рег-ции: Февр. 2017  
Репутация: 4




А как изменить размер EDIT или LISTBOX?
 
 Top
Zireael
Отправлено: 26 Февраля, 2024 - 13:49:29
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4398
Дата рег-ции: Нояб. 2017  
Репутация: 580




CODE:
#define GWL_STYLE -16
#define WS_VISIBLE 0x10000000
#define WS_CHILD 0x40000000
#define WS_BORDER 0x00800000
#define WS_OVERLAPPEDWINDOW 0xCF0000
#define TRUE 1
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll");
external(INT, "SetWindowLong", "SetWindowLongA", "User32.dll");
external(INT, "MoveWindow", "MoveWindow", "User32.dll");

int edit0;

createdialog(0);
showdialog(0, "Диалог", 300, 300, 500, 400, 1, 1);
SetWindowLong(gethwnd(0), GWL_STYLE, WS_VISIBLE | WS_OVERLAPPEDWINDOW);

loop()sleep(10);

function getmessage(0, WM_CREATE)
{
edit0=CreateWindow(0, "EDIT", "", WS_VISIBLE | WS_CHILD | WS_BORDER, 10, 10, 50, 20, gethwnd(0), 0, 0, 0);
}

function getmessage(0, WM_SIZE)
{
// тут нужные действия с контролами
int Width = loword(message.lparam);
int Height = hiword(message.lparam);
textout(0, 200, 100, "Ширина окна: "+format(Width)+" Высота окна: "+format(Height), 0);

MoveWindow(edit0, 10, 10, Width - 20, 20, TRUE);
}
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by