Кибор » Кибор - Интегрированная среда разработки ботов » О программе Кибор » Версия 5.50 Получение и обработка сообщений в немодальных окнах Кибор

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

31. Zireael - 03 Февраля, 2019 - 10:06:43 - перейти к сообщению
Пример, как вывести static (Отобразить)
32. ivantu - 03 Февраля, 2019 - 11:09:30 - перейти к сообщению
Друзья а где то можно узнать за что все эти параметры отвечают?

CODE:
static3=CreateWindow(0, "STATIC", "", 17+1342177280, 20, 70, 1, 30, gethwnd(0), 0, 0, 0); // вертикальная линия


к примеру 17+1342177280 - это что такое?
33. Dantes3000 - 03 Февраля, 2019 - 12:04:16 - перейти к сообщению
ivantu ,(для просмотра ссылки Вам необходимо авторизоваться)
34. Zireael - 03 Февраля, 2019 - 15:34:37 - перейти к сообщению
 Цитата:
к примеру 17+1342177280 - это что такое?

createwindowexa
window-styles
Смотрим стили окон:
WS_CHILD (дочернее окно)
0x40000000
WS_VISIBLE (окно видимое)
0x10000000
Складываем 40000000+10000000=‭50000000‬, переводим в десятичное ‭1342177280‬.
Т. е. создаём дочернее окно, которое сразу будет видимое. Если надо можно ещё добавить что-то к стилю окна.
Теперь, смотрим стили контролов, например кнопки:
button-styles
Допустим надо создать галку (это тоже кнопка), находим BS_AUTOCHECKBOX, пока нет файла с константами ищем код константы, например тут, находим BS_AUTOCHECKBOX 0x00000003, переводим в десятичное число, так и останется 3.
Т. е.
CODE:
CreateWindow(0, "BUTTON", "Галка0", 3+1342177280, 20, 10, 70, 20, formatwi(w), 0, 0, 0);
// CreateWindow(0, "BUTTON", "Галка0", 1342177283, 20, 10, 70, 20, formatwi(w), 0, 0, 0); // или так, без разницы

Создаст галку.

Константы можно посмотреть ещё тут и тут.
35. Dantes3000 - 03 Февраля, 2019 - 20:50:55 - перейти к сообщению
CODE:
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );

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


int flag=0;
int edit=CreateWindow(0, "EDIT", "asd", 1353715844, 100, 100, 70, 70, gethwnd(0), 0, 0, 0);
int b1=CreateWindow(0, "BUTTON", "Первая кнопка", 1342177280, 10, 10, 120, 30, gethwnd(0), 0, 0, 0);

while(flag==0) sleep(100);

loop() {beep(800, 100); pause(500);}

function getmessage(0, WM_COMMAND)
{
if (message.lparam==b1) flag=1;
}


Почему если нажать на edit, то срабатывает getmessage?
36. Kibor - 04 Февраля, 2019 - 03:02:00 - перейти к сообщению
 Dantes3000 пишет:
Почему если нажать на edit, то срабатывает getmessage?

Исправил.


Пока что выложил файл констант. Там не все, но основные
http://kibor-bot.com/files/constant.txt

Подключать так:
CODE:
#definefile "C:\Program Files (x86)\Kibor\constant.txt"
37. Kibor - 04 Февраля, 2019 - 09:29:50 - перейти к сообщению
 Цитата:
#define WS_VISIBLE 268435456
#define WS_CHILD 1073741824
#define BS_AUTOCHECKBOX 3



external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );

int b1, b2;
createdialog(0);
showdialog(0, "Диалог",100, 100, 300, 300, 1, 1);



loop()sleep(1);




function getmessage(0, WM_COMMAND)
{
if (message.lparam==b1)messagebox ("кнопка");
if (message.lparam==b2)messagebox ("галка");
}

function getmessage(0, WM_CREATE)
{
b1=CreateWindow(0, "BUTTON", "Кнопка", WS_VISIBLE | WS_CHILD, 10, 10, 120, 30, gethwnd(0), 0, 0, 0);
b2=CreateWindow(0, "BUTTON", "Галка", WS_VISIBLE | WS_CHILD | BS_AUTOCHECKBOX, 10, 50, 120, 30, gethwnd(0), 0, 0, 0);
}





Изменить шрифт

CODE:
#define WS_VISIBLE 268435456
#define WS_CHILD 1073741824
#define BS_AUTOCHECKBOX 3


external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
external(INT, "CreateFont", "CreateFontA", "Gdi32.dll" );
external(INT, "SendMessage", "SendMessageA", "User32.dll" );

int b1, b2;
createdialog(0);
showdialog(0, "Диалог",100, 100, 300, 300, 1, 1);


loop()sleep(1);




function getmessage(0, WM_COMMAND)
{
if (message.lparam==b1)messagebox ("кнопка");
if (message.lparam==b2)messagebox ("галка");
}


function getmessage(0, WM_CREATE)
{
int h_font = CreateFont(-13, 0, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, "Times New Roman");
b1=CreateWindow(0, "BUTTON", "Кнопка", WS_VISIBLE | WS_CHILD, 10, 10, 120, 30, gethwnd(0), 0, 0, 0);
b2=CreateWindow(0, "BUTTON", "Галка", WS_VISIBLE | WS_CHILD | BS_AUTOCHECKBOX, 10, 50, 120, 30, gethwnd(0), 0, 0, 0);
SendMessage(b1, WM_SETFONT, h_font, 1);
}


или

CODE:
#define WS_VISIBLE 268435456
#define WS_CHILD 1073741824
#define BS_AUTOCHECKBOX 3


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

int b1, b2;
createdialog(0);
showdialog(0, "Диалог",100, 100, 300, 300, 1, 1);


loop()sleep(1);




function getmessage(0, WM_COMMAND)
{
if (message.lparam==b1)messagebox ("кнопка");
if (message.lparam==b2)messagebox ("галка");
}


function getmessage(0, WM_CREATE)
{
int h_font = CreateFont(-13, 0, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, "Times New Roman");
b1=CreateWindow(0, "BUTTON", "Кнопка", WS_VISIBLE | WS_CHILD, 10, 10, 120, 30, gethwnd(0), 0, 0, 0);
b2=CreateWindow(0, "BUTTON", "Галка", WS_VISIBLE | WS_CHILD | BS_AUTOCHECKBOX, 10, 50, 120, 30, gethwnd(0), 0, 0, 0);
sendmessage(WM_SETFONT, h_font, 1, formatiw(b1));
}
38. Zireael - 05 Февраля, 2019 - 02:57:27 - перейти к сообщению
Изменить картинку на кнопке при нажатии на кнопку (Отобразить)

Список в несколько колонок (Отобразить)
39. ivantu - 06 Февраля, 2019 - 02:26:25 - перейти к сообщению
Подскажите пожалуйста кто знает, можно ли Вывести на кнопку картинку, а текст кнопки использовать обычным способом?
40. Kibor - 06 Февраля, 2019 - 02:30:45 - перейти к сообщению
Нет. Или - или.

Powered by ExBB FM 1.0 Final