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

Страниц (22): « 1 [2] 3 4 5 6 7 8 9 ... » В конец
 

11. 007wan - 08 Марта, 2019 - 04:41:43 - перейти к сообщению
Zireael , Слушай, а какая может быть причина в том, что кнопка HMenu "Настройки" не на своем месте. Я запустил скрипт и у меня кнопка в нормальном положении, потом нажимаю на окно и оно активное и кнопка удто продавливается или смещается
Вот:(для просмотра ссылки Вам необходимо авторизоваться) ,А потом тяну за любой край и все возвращается на свои места
(Добавление)
Причем если "отключу" растягивание окна, то опять всё норм
12. Zireael - 08 Марта, 2019 - 05:39:42 - перейти к сообщению
 Цитата:
а какая может быть причина в том, что кнопка HMenu "Настройки" не на своем месте.

Не знаю, нужен код, в котором такая проблема.
13. 007wan - 08 Марта, 2019 - 07:09:07 - перейти к сообщению
CODE:


external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
external(INT, "CreateMenu", "CreateMenu", "User32.dll" );
external(INT, "CreatePopupMenu", "CreatePopupMenu", "User32.dll" );
external(INT, "CreateFont", "CreateFontA", "Gdi32.dll" );

external(INT, "SetWindowLong", "SetWindowLongA", "User32.dll" );
external(INT, "SetWindowPos", "SetWindowPos", "User32.dll");
external(INT, "SetMenuInfo", "SetMenuInfo", "User32.dll" );
external(INT, "SetBkMode", "SetBkMode", "Gdi32.dll" );
external(INT, "SetScrollRange", "SetScrollRange", "User32.dll" );
external(INT, "SetWindowText", "SetWindowTextA", "User32.dll" );

external(INT, "SetTextColor", "SetTextColor", "Gdi32.dll" );
external(INT, "SetWindowTextA", "SetWindowTextA", "User32.dll" );
external(INT, "SetMenu", "SetMenu", "User32.dll" );

external(INT, "GetWindowLong", "GetWindowLongA", "User32.dll" );
external(INT, "GetDC", "GetDC", "User32.dll" );
external(INT, "GetWindowText", "GetWindowTextA", "User32.dll");
external(INT, "GetFocus", "GetFocus", "User32.dll" );

external(INT, "EnableWindow", "EnableWindow", "User32.dll" );
external(INT, "EnableWindow", "EnableWindow", "user32.dll");

external(INT, "AppendMenu", "AppendMenuA", "User32.dll" );

external(INT, "TrackPopupMenu", "TrackPopupMenu", "User32.dll" );



#define WS_SIZEBOX 262144
#define WS_CHILD 1073741824
#define WS_VISIBLE 268435456
#define WS_BORDER 8388608
#define EM_LIMITTEXT 197
#define ES_AUTOHSCROLL 128


char Text_Button1[255];
char Text_Button2[255];

win Browser;
win MainWindow;
win SecondaryWindow;

string user_key;
string system_key;

int Button1;
int Button2;
int Checkbox1;
int Checkbox2;
int Combobox1;

int Static1;
int Static2;
int Edit1;
int HWND;


int MENUINFO[7] = {28, 16, 134217728, 0, 0, 0, 0};
int HMENU, HMENU2 = CreatePopupMenu();
AppendMenu(HMENU2, 16, 1, "Открыть" );
HMENU = CreateMenu();
AppendMenu(HMENU, 16, HMENU2, "Настройки" );

int Display_Color, Display_Width, Display_Height;

enabletimer(1);
getdisplay(Display_Color, Display_Width, Display_Height);
createdialog(0);

loop()
{
sleep(10);
}

CREATE_TIMER(1, 3000)
{
resettextout(1);
}

function getmessage(0, WM_MENUCOMMAND)
{
if (message.lparam == HMENU2)
{
createdialog(1);
showdialog(1, "Настройки", Display_Width/2-400, Display_Height/2-300, 600, 500, 0, 1);

win SecondaryWindow = window ("Настройки");

Checkbox1 = CreateWindow(0, "BUTTON", "1", 3+1342177280, 10, 10, 350, 20, formatwi(SecondaryWindow), 0, 0, 0);
Checkbox2 = CreateWindow(0, "BUTTON", "2", 3+1342177280, 10, 30, 350, 20, formatwi(SecondaryWindow), 0, 0, 0);
Checkbox3 = CreateWindow(0, "BUTTON", "3", 3+1342177280, 10, 50, 350, 20, formatwi(SecondaryWindow), 0, 0, 0);
Static1 = CreateWindow(0, "STATIC", "Короткий текст не более 70 символов", 1342177280, 10, 70, 300, 20, formatwi(SecondaryWindow), 0, 0, 0);
Edit1 = CreateWindow(0, "EDIT", "", WS_CHILD | WS_VISIBLE | WS_BORDER | ES_AUTOHSCROLL, 270, 70, 120, 20, formatwi(SecondaryWindow), 0, 0, 0);
sendmessage(EM_LIMITTEXT, 70, 0, formatiw(Edit1));

}
}

function getmessage (0, WM_CREATE)
{
HWND = gethwnd(0);

SetMenuInfo(HMENU, address(#MENUINFO[0]));
SetMenu(gethwnd(0), HMENU);
showdialog(0, "диалог", Display_Width/2-450, Display_Height/2-400, 644, 550, 1, 0);
SetWindowLong(HWND, -16, GetWindowLong(HWND, -16)+WS_SIZEBOX);
Button1 = CreateWindow(0, "BUTTON", "1", 1342177280, 10, 10, 120, 20, formatwi(MainWindow), 0, 0, 0);
Button2 = CreateWindow(0, "BUTTON", "2", 1342177280, 140, 10, 250, 20, formatwi(MainWindow), 0, 0, 0);
Edit1 = CreateWindow(0, "EDIT", "", 4+128+4096+1048576+2097152+8388608+1342177280, 810, 10, 200, 600, formatwi(MainWindow), 0, 0, 0);

sendmessage(EM_LIMITTEXT, 70, 0, formatiw(Edit1));
}

function getmessage (0, WM_SIZE)
{
MainWindow = window ("диалог");

textout(0, 0, 0, format(message.x)+","+format(message.y), 1);

if (message.x < 644 || message.x < 544)
{
MainWindow.width = 644;
movewindow(MainWindow);

}

if (message.x > 1034 || message.x > 934)
{
MainWindow.width = 1034;
movewindow(MainWindow);
}

if (message.y < 534 || message.y < 434)
{
MainWindow.height = 534;
movewindow(MainWindow);

}
if (message.y > 837 || message.y > 737)
{
MainWindow.height = 837;
movewindow(MainWindow);

}
}
попробуй сначала преместить или активировать окно и наблюдай за кнопкой настройки, а тянув за края все исправится
14. Zireael - 08 Марта, 2019 - 07:29:06 - перейти к сообщению
 Цитата:
showdialog(0, "диалог", Display_Width/2-450, Display_Height/2-400, 644, 550, 1, 0);
SetWindowLong(HWND, -16, GetWindowLong(HWND, -16)+WS_SIZEBOX);

Надо сначала установить стиль для окна, а потом его вызывать. Поменять строки местами.
15. 007wan - 08 Марта, 2019 - 07:58:05 - перейти к сообщению
 Zireael пишет:
showdialog(0, "диалог", Display_Width/2-450, Display_Height/2-400, 644, 550, 1, 0);
SetWindowLong(HWND, -16, GetWindowLong(HWND, -16)+WS_SIZEBOX);

Поменял местами - работает. спасибо
16. 007wan - 09 Марта, 2019 - 01:00:33 - перейти к сообщению
Возможно ли какое-нибудь создание сервера через external?
17. Dantes3000 - 09 Марта, 2019 - 03:25:09 - перейти к сообщению
007wan , ты понимаешь, что через external можно хоть пентагон взломать, хоть сайт создать, хоть игру?
18. 007wan - 09 Марта, 2019 - 03:36:18 - перейти к сообщению
Dantes3000 , Серьезно? Это не шутка?
(Добавление)
Мне просто нужны источники, что бы я смог разобраться что откуда брать и что это означает. Я считаю, мало ссылок по этой теме.
(Добавление)
А как через external сделать, что бы при выключении скрипта открывался диалог и загружал состояние галочек, например. А при уничтожении диалога или остановки скрипта, сохранял состояние галочек и записывал их в файл
(Добавление)
Или же сохранял состояние галочек при изменении, а не после уничтожении диалога
(Добавление)
Вот нашел как сделать что-то при зыкрытии диалога:(для просмотра ссылки Вам необходимо авторизоваться) (Добавление)
А, и там же как сохранить в файл, но я хочу через external
(Добавление)
Всё, нашел!
(Добавление)
Как все таки сделать Меню "Настройки"
CODE:
CreateMenu();

без вспомогательного окна--->
CODE:
CreatePopupMenu();

И что бы сразу жмем на меню и сразу открывался диалог. Без "Открыть"? Ну пожалуйста, раз пентагон можо взломать, значит и это сделать
19. Dantes3000 - 09 Марта, 2019 - 05:29:51 - перейти к сообщению
 007wan пишет:
Серьезно?

Серьезно
20. 007wan - 09 Марта, 2019 - 05:50:13 - перейти к сообщению
Еще интересует вопрос: Как создать диалог, в котором буит только одна кнопка системная - "Закрыть", а "Свернуть" и "во весь" экран не будет
(Добавление)
А может есть упрощенный вариант коду:
CODE:

Запустили скрипт.
Открылось окно 1.
Если нажали кнопку в окне 1
{
Открыли окно 2.
Запускаем таймер 1.
Выключаем окно 1(ЭнаблеВиндоу)
}

Таймер
{
Если окно 1 активно
{
ФлешВиндоу 1 секунду от 1 клика в окно 1.
Делаем неактивным окно1.
}


}


Что-то вроде этого в Киборе, когда открываем настройки.

И так. Может есть проще? А то опять такая история будет с ползунком)))

Powered by ExBB FM 1.0 Final