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

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

101. 007wan - 31 Мая, 2019 - 04:24:57 - перейти к сообщению
Как установить свой курсор?
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
102. Zireael - 31 Мая, 2019 - 06:13:52 - перейти к сообщению
 Цитата:
Как установить свой курсор?

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

При наведении на edit будет меняться курсор, если он был загружен.
103. 007wan - 31 Мая, 2019 - 06:19:02 - перейти к сообщению
Zireael , Спасибо!!
(Добавление)
А можно ли где-то найти такое?
NotifyПросто давно такое хотел, пожалуйста)
104. 007wan - 01 Июня, 2019 - 05:31:10 - перейти к сообщению
А как для меню сделать курсор?
Я знаю куда вшить меню, но номер меню или доп. параметр не знаю куда писать.
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 пишет:
Я знаю куда вшить меню
А хотя не знаю.
105. 007wan - 03 Июня, 2019 - 02:27:18 - перейти к сообщению
Как можно реализовать принцип сворачивания окна? Просто мне не нравится, что при сворачивании программы, окно сворачивается не полностью, окно весит в минимальном масштабе. А должно так: что бы оно полностью исчезало и появлялось. Не могу придумать как отлавливать окно при сворачивании и разворачивании(когда кликаем на программу в панели)
106. Zireael - 03 Июня, 2019 - 02:58:23 - перейти к сообщению
 Цитата:
Как можно реализовать принцип сворачивания окна?

Свернёт окно на панель задач:
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);
}
107. 007wan - 03 Июня, 2019 - 03:11:02 - перейти к сообщению
Zireael , Вау, спасибо! Даже диалог появился в панели задач))) класс)
108. 007wan - 03 Июня, 2019 - 06:15:34 - перейти к сообщению
Почему не применяется иконка?
CODE:

ICON_BIG 1
ICON_SMALL 0
SendMessage(gethwnd(0), WM_SETICON, ICON_BIG, "ПУТЬ");
все константы в файле
Ставится иконка, но какая-то стандартная.
(Добавление)
Иконка 16-16 bmp 16
(Добавление)
Ай, кажется допер. надо LoadImage как для курсора
(Добавление)
А, не не работает, но когда я туда ввожу переменную Cursor1, то работает
109. Zireael - 03 Июня, 2019 - 06:43:51 - перейти к сообщению
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 ищите в инете.
110. 007wan - 03 Июня, 2019 - 06:50:49 - перейти к сообщению
Zireael , А прозрачным ее никак не сделать? (углы) LR_LOADTRANSPARENT - не работает. Написано, что больше 8 бит или что-то такое, то не сработает. Если есть другие способы, кроме как обработать ее в фотошопе.

Powered by ExBB FM 1.0 Final