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

Страниц (3): [1] 2 3 »
 

2. Zireael - 15 Января, 2021 - 12:55:08 - перейти к сообщению
 Цитата:
Подскажите как на этих полях размещать элементы?

Если имеется ввиду на вкладках, то чуть выше есть пример.
 Цитата:
Еще вопрос как изменить цвет текстового сообщения в поле edit?

Использовать RichEdit https://kibor-bot.com/forum/topi...66162#1569166162
3. Karkun - 16 Января, 2021 - 00:35:34 - перейти к сообщению
 Zireael пишет:
 Цитата:


Если имеется ввиду на вкладках, то чуть выше есть пример.


Спасибо нашел.
Подскажите а можно как то сделать, что бы фокус в поле edit всегда был на последнем сообщении. Если много сообщений то в работе не получается отслеживать сообщения т.к они смещаются вниз по списку.
4. Zireael - 16 Января, 2021 - 01:21:12 - перейти к сообщению
 Цитата:
можно как то сделать, что бы фокус в поле edit всегда был на последнем сообщении.

code (Отобразить)
5. Karkun - 16 Января, 2021 - 01:58:54 - перейти к сообщению
 Zireael пишет:

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

Огромное спасибо.
6. Karkun - 18 Января, 2021 - 07:21:15 - перейти к сообщению
 Zireael пишет:
Если имеется ввиду на вкладках, то чуть выше есть пример.



Разобрался с примером все понятно как разместить элементы на первой вкладке.
на второй и третий разместил статик и кнопки. но не получается разместить такие элементы как например галки или checkbox на второй и третьей вкладки . Если я использую константы элементов на дочерних вкладках то они не отображаются а если не использую то отображаются как кнопки.
7. Zireael - 18 Января, 2021 - 07:36:14 - перейти к сообщению
 Цитата:
но не получается разместить такие элементы как например галки или checkbox

checkbox это тоже button, только со стилем:
CODE:
#define BS_AUTOCHECKBOX 3

CODE:
check=CreateWindow(0, "BUTTON", "Галка1", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE, 20, 10, 70, 20, gethwnd(0), 0, 0, 0);
8. Karkun - 18 Января, 2021 - 07:55:39 - перейти к сообщению
 Zireael пишет:
checkbox это тоже button, только со стилем:
CODE:
#define BS_AUTOCHECKBOX 3

CODE:
check=CreateWindow(0, "BUTTON", "Галка1", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE, 20, 10, 70, 20, gethwnd(0), 0, 0, 0);



Благодарю вас. Тогда можно еще немного ликбеза для начинающего, почему для простого окна нам достаточно строки

 Zireael пишет:

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); // или так, без разницы

Создаст галку.
9. Zireael - 18 Января, 2021 - 08:09:27 - перейти к сообщению
 Цитата:
почему для простого окна нам достаточно строки

Изначально не было констант в кибор. Вообще лучше так:
CODE:
#define WS_VISIBLE 0x10000000
#define WS_CHILD 0x40000000
#define WS_BORDER 0x00800000
#define BS_AUTOCHECKBOX 3
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll");

int button0;
int check0;

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


loop()sleep(10);


function getmessage(0, WM_CREATE)
{
button0=CreateWindow(0, "BUTTON", "Кнопка", WS_CHILD | WS_VISIBLE, 20, 10, 100, 24, gethwnd(0), 0, 0, 0); // создать кнопку
check0=CreateWindow(0, "BUTTON", "Галка", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE, 20, 50, 100, 20, gethwnd(0), 0, 0, 0); // создать галку
}


function getmessage(0, WM_COMMAND)
{
if (message.lparam==button0) // если нажата кнопка
{
messagebox("Нажата кнопка");
}

if (message.lparam==check0) // если нажата галка
{
messagebox("Нажата галка");
}
}
10. Karkun - 18 Января, 2021 - 08:40:22 - перейти к сообщению
 Zireael пишет:
Изначально не было констант в кибор. Вообще лучше так:



В общем это два разных способа. Тогда мне стоит привести все к одному виду.
Ну сейчас все намного проще когда я в первый раз посмотрел на этот код думал никогда не пойму. Спасибо за разъяснения.

Powered by ExBB FM 1.0 Final