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

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

91. Kibor - 28 Мая, 2019 - 04:14:21 - перейти к сообщению
Не знаю как убрать со всего.
Но можно передать фокус на какой то скрытый элемент вынесенный за пределы диалога.
92. 007wan - 28 Мая, 2019 - 04:43:52 - перейти к сообщению
 Kibor пишет:
Но можно передать фокус на какой то скрытый элемент вынесенный за пределы диалога.
Да, но этого элемента может и не существовать. Поэтому можно создать контрол в диалоге без WS_VISIBLE думаю.
(Добавление)
Я даже сделал еще проще:
Указал фокус на статический элемент, хотя у него никак не показывается визуально.
93. 007wan - 29 Мая, 2019 - 06:12:38 - перейти к сообщению
Можно пожалуйста пример с этим:
CODE:
SetWindowPos(formatwi(MainWindow), HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE | SWP_NOSENDCHANGING);
Есть диалог и там 2 кнопки: "поверх" и "не". Каждая должна работать как часы. А то у меня ошибка какая-то. При закрытии диалога через WM_CLOSE вызывается поверх окна, но для 2 диалога, а оно не работает и окно становится не поверх, хотя оно было! А еще После этого WM_CLOSE не робит, т.к не слушается код в этой функции, (не закрывает), хотя там есть всё, даже скрипт не останавливается. Приходится силой. Раздражает очень. Ошибок не вижу, но что-то не так либо с кибором, либо с функцией этой.
(Добавление)
Еще если можно, то показать на двух диалогах. первый основной, а второй со вкладкой "настройки"
(Добавление)
Потому что оба диалога конфиктовали.
(Добавление)
Еще как олучить параметр, что окно "поверх" или "нет"
(Добавление)
Может это потому что...
 Цитата:
*Ни флажок HWND_TOPMOST, ни флажок HWND_NOTOPMOST не установлен в параметре hWndInsertAfter.

(Добавление)
У меня как всё сделано:
Есть функция:
Функция (Отобразить)


есть 2 диалога. призапуске скрипта, вызывает функция поверх окна сразу же в зависимости от параметра в файле делает то, что нужно. при закрытии диалога2 "настройки" тоже вызывает и тут он не работает.
94. Zireael - 29 Мая, 2019 - 06:58:17 - перейти к сообщению
code (Отобразить)
95. 007wan - 29 Мая, 2019 - 07:14:26 - перейти к сообщению
Как использовать GetWindow?
(Добавление)
Zireael , 1) WM_CLOSE сбрасывает верхнее окно обоих диалогов. 2)При нажатии на иконку на панели задач "Kibor", учитывая запущенного скрипта, сбрасывает верхнее окно. ДУмаю аналогично с рисованием. Наверное нужно установить таймер - не проблема.
(Добавление)
 Цитата:
HWND GetWindow(
HWND hWnd,
UINT uCmd*//шо это такое?
);

(Добавление)
А, всё
(Добавление)
Решил попробовать сам:
CODE:

#define GW_HWNDFIRST 0
external(INT, "GetWindow", "GetWindow", "User32.dll" );

int a=GetWindow(Object_Button1, GW_HWNDFIRST);

(Добавление)
CODE:
int a=GetWindow(gethwnd(0), GW_HWNDFIRST);
96. 007wan - 30 Мая, 2019 - 02:20:34 - перейти к сообщению
Помните MessageBox api? А почему не работает звук при сообщении? В описании функции параметр звука не видал.
(Добавление)
А всё. Не надо. Хочу сам попробовать. Нашел функцию MessageBeep
(Добавление)
CODE:
#define MB_ICONERROR 16
#define MB_ICONEXCLAMATION 48
#define MB_ICONERROR 16
#define MB_ICONINFORMATION 64
#define MB_ICONQUESTION 32
#define MB_OK 0
//прописываем константы

external(INT, "MessageBeep", "MessageBeep", "user32.dll");//загружаем библиотеку
MessageBeep(MB_ICONERROR);//Запускаем
//Если хочешь другой звук поменяй MB_ICONERROR константу на те, что выше...


Всё константы ТУТ
(Добавление)
Почему квестовый сигнал не работает? #define MB_ICONQUESTION 32
(Добавление)
Использую это
CODE:
external(INT, "MessageBeep", "MessageBeep", "user32.dll");
MessageBeep(MB_ICONQUESTION);
Все константы в файле
(Добавление)
Вообще в Панели управления, где Звуки. Звук "Вопрос" отсутствует, что нельзя воспроизвести.
(Добавление)
Теперь можно отключать отдельные строчки в меню вызывающееся ПКМ или просто меню, которое сверху.
Код (Отобразить)

Все константы ТУТ
97. 007wan - 30 Мая, 2019 - 04:35:14 - перейти к сообщению
Или можно подсветить:
Код (Отобразить)

(Добавление)
Zireael , Не знаю что писать в последние 2 параметра:

CODE:

external(INT, "ModifyMenuA", "ModifyMenuA", "user32.dll");
ModifyMenuA(HMENU3, 6, MF_BYCOMMAND | MF_CHECKED);
//+константы имеются

ссылка<----константы.
Вообще работает, но не так:
ВЫделяет строку галочкой, но текст это строчки пропадает.
(Добавление)
Кнопки верх-вниз для эдита. Костыль пока что)
Код (Отобразить)

Статья. Пока не до конца понял что и как работает.
(Добавление)
Еще одна новый контрол. И много разных ТУТ
98. 007wan - 30 Мая, 2019 - 06:40:04 - перейти к сообщению
Не знаю что это, но похожу на статик или статус окно какое-то)
CreateStatusWindowA function (Отобразить)
99. Zireael - 30 Мая, 2019 - 06:56:42 - перейти к сообщению
 Цитата:
Статья. Пока не до конца понял что и как работает.

Это устаревшие функции. Вместо этого есть scrolbar.
CODE:
#define WS_CHILD 1073741824
#define WS_VISIBLE 268435456
#define WS_BORDER 8388608

external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
external(INT, "CreateUpDownControl", "CreateUpDownControl", "Comctl32.dll" );
external(INT, "SetWindowText", "SetWindowTextA", "User32.dll" );

int edit, up_down;
int min=10, max=40, pos=20; // минимум, максимум и начальное значения


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


function getmessage(0, WM_VSCROLL)
{
if(message.lparam==up_down)SetWindowText(edit, format(hiword(message.wparam)));
}

function getmessage(0, WM_CREATE)
{
edit=CreateWindow(0, "EDIT", "", WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 20, 30, 20, gethwnd(0), 0, 0, 0);
SetWindowText(edit, format(pos));
up_down=CreateUpDownControl(WS_CHILD | WS_VISIBLE | WS_BORDER, 50, 20, 20, 20, gethwnd(0), 1111, 0, 0, max, min, pos);
}
100. 007wan - 30 Мая, 2019 - 07:00:00 - перейти к сообщению
Zireael , Спасибо.
(Добавление)
В идеале можно еще на эдит дать лимит на значения и только цифры и всё) ну это я и сам могу)
(Добавление)
А как вообще тулбар сделать, я не понимаю.CreateToolbarEx function
(Добавление)
Блин, я не знаю короче. Я просто ищу всякие бары, тулбары, табы итд. Всё новое ищу, а если нахожу, то большинство не могу сделать что-то.
(Добавление)
Однако, старые функции мне показались более понятными
(Добавление)
Zireael , А что насчет этого-то?
CODE:
external(INT, "ModifyMenuA", "ModifyMenuA", "user32.dll");
ModifyMenuA(HMENU3, 6, MF_BYCOMMAND | MF_CHECKED);
//+константы имеются
Ставит галочку, но текст не отображается
(Добавление)
Ладно. Использую тогда это CheckMenuItem

Powered by ExBB FM 1.0 Final