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

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

 Страниц (16): В начало « 7 8 9 10 [11] 12 13 14 15 » В конец    

> Описание: Продолжение
007wan
Отправлено: 31 Мая, 2019 - 12:24:57
Post Id



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


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




Как установить свой курсор?
CODE:
#define WS_CHILD 1073741824
#define WS_BORDER 8388608
#define WS_VISIBLE 268435456

external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
external(INT, "GetWindowText", "GetWindowTextA", "User32.dll" );
external(INT, "SetWindowText", "SetWindowTextA", "User32.dll" );
external(INT, "SetFocus", "SetFocus", "User32.dll" );

external(INT, "LoadCursorA", "LoadCursorA", "User32.dll");
external(INT, "SetCursor", "SetCursor", "User32.dll" );
external(INT, "MAKEINTRESOURCEA", "MAKEINTRESOURCEA", "User32.dll" );
createdialog(0);
showdialog(0, "Äèàëîã",100, 100, 300, 300, 1, 1);




while(window ("Äèàëîã")==0)sleep(10);
win w=window ("Äèàëîã");

int edit1;

loop()
{
sleep(1);
}


function getmessage(0, WM_CREATE)
{

edit1 = CreateWindow(0, "EDIT", "65464", WS_CHILD | WS_BORDER | WS_VISIBLE, 100, 100, 100, 20, gethwnd(0), 0, 0, 0);

SetCursor(LoadCursorA(edit1, IDC_HELP));

//SetCursor(LoadCursor(NULL, IDC_WAIT));
}
Честно говоря какая-то муть пошла. Там нужна какая-то ресур библиотека, которая преобразует целочисленные значения...Статья
Всё о курсорах
(Добавление)
А, вот проще, но там LoadCursor, я не знаю SetSysCur
 
 Top
Zireael
Отправлено: 31 Мая, 2019 - 14:13:52
Post Id



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


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




 Цитата:
Как установить свой курсор?

code (Отобразить)

При наведении на edit будет меняться курсор, если он был загружен.
 
 Top
007wan
Отправлено: 31 Мая, 2019 - 14:19:02
Post Id



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


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




Zireael , Спасибо!!
(Добавление)
А можно ли где-то найти такое?
NotifyПросто давно такое хотел, пожалуйста)
 
 Top
007wan
Отправлено: 01 Июня, 2019 - 13:31:10
Post Id



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


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




А как для меню сделать курсор?
Я знаю куда вшить меню, но номер меню или доп. параметр не знаю куда писать.
CODE:
for (int i=0; i<sizearray(Object_Checkbox); i++)
{
while(WindowFromPoint(Mouse_x, Mouse_y) == Object_Checkbox[i] || WindowFromPoint(Mouse_x, Mouse_y) == Object_Button1 || WindowFromPoint(Mouse_x, Mouse_y) == Object_Button2)
{
SetCursor(Object_Cursor1);
sleep(10);
getmouse(Mouse_x, Mouse_y);
break;
}
}

(Добавление)
 007wan пишет:
Я знаю куда вшить меню
А хотя не знаю.
 
 Top
007wan
Отправлено: 03 Июня, 2019 - 10:27:18
Post Id



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


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




Как можно реализовать принцип сворачивания окна? Просто мне не нравится, что при сворачивании программы, окно сворачивается не полностью, окно весит в минимальном масштабе. А должно так: что бы оно полностью исчезало и появлялось. Не могу придумать как отлавливать окно при сворачивании и разворачивании(когда кликаем на программу в панели)
 
 Top
Zireael
Отправлено: 03 Июня, 2019 - 10:58:23
Post Id



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


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




 Цитата:
Как можно реализовать принцип сворачивания окна?

Свернёт окно на панель задач:
CODE:
#define WS_EX_APPWINDOW 262144
#define GWL_EXSTYLE -20
external(INT, "SetWindowLong", "SetWindowLongA", "User32.dll" );
external(INT, "GetWindowLong", "GetWindowLongA", "User32.dll" );

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

function getmessage(0, WM_CREATE)
{
SetWindowLong(gethwnd(0), GWL_EXSTYLE, GetWindowLong(gethwnd(0), GWL_EXSTYLE) + WS_EX_APPWINDOW);
}
 
 Top
007wan
Отправлено: 03 Июня, 2019 - 11:11:02
Post Id



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


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




Zireael , Вау, спасибо! Даже диалог появился в панели задач))) класс)
 
 Top
007wan
Отправлено: 03 Июня, 2019 - 14:15:34
Post Id



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


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




Почему не применяется иконка?
CODE:

ICON_BIG 1
ICON_SMALL 0
SendMessage(gethwnd(0), WM_SETICON, ICON_BIG, "ПУТЬ");
все константы в файле
Ставится иконка, но какая-то стандартная.
(Добавление)
Иконка 16-16 bmp 16
(Добавление)
Ай, кажется допер. надо LoadImage как для курсора
(Добавление)
А, не не работает, но когда я туда ввожу переменную Cursor1, то работает
 
 Top
Zireael
Отправлено: 03 Июня, 2019 - 14:43:51
Post Id



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


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




CODE:
#define WS_CHILD 1073741824
#define WS_BORDER 8388608
#define WS_VISIBLE 268435456
#define LR_LOADFROMFILE 16
#define IMAGE_ICON 1
#define WM_SETICON 128
#define ICON_BIG 1
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
external(INT, "LoadImage", "LoadImageA", "User32.dll");

int icon;
createdialog(0);
showdialog(0, "Dialog",100, 100, 300, 300, 1, 1);

loop()sleep(10);

function getmessage(0, WM_CREATE)
{
icon=LoadImage(0, "C:\111.ico", IMAGE_ICON, 0, 0, LR_LOADFROMFILE); // загрузить иконку 'C:\111.ico'
sendmessage(WM_SETICON, ICON_BIG, icon, formatiw(gethwnd(0))); // установить иконку
}

Картинки ico ищите в инете.
 
 Top
007wan
Отправлено: 03 Июня, 2019 - 14:50:49
Post Id



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


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




Zireael , А прозрачным ее никак не сделать? (углы) LR_LOADTRANSPARENT - не работает. Написано, что больше 8 бит или что-то такое, то не сработает. Если есть другие способы, кроме как обработать ее в фотошопе.
 
 Top
Страниц (16): В начало « 7 8 9 10 [11] 12 13 14 15 » В конец
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


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




Powered by