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

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

1. ivantu - 21 Августа, 2019 - 08:14:07 - перейти к сообщению
Друзья подскажите пожалуйста, как можно вывести сразу два диалога но чтоб, один был внутри другого, и без верхней полоски в которой пишется название диалога.

вот схема примерная:
(для просмотра ссылки Вам необходимо авторизоваться) (Добавление)
вроде бы вот :
Изменяет родительское окно указанного дочернего окна.
CODE:

HWND SetParent(
HWND hWndChild,
HWND hWndNewParent
);


Но я так и не научился правильно использовать то, что в справке майкрософт...
2. ivantu - 21 Августа, 2019 - 13:03:08 - перейти к сообщению
Такое можно реализовать?
3. ivantu - 21 Августа, 2019 - 23:45:33 - перейти к сообщению
Или может есть какая то подложка внутри которой можно разместить контролы, и если скрывать подложку все контролы на ней так же скроются.
(Добавление)
Смысл сделать что то типо вкладок, вот нашел рабочий вариант на C++, может знающие люди помогут оптимизировать его для Кибор
Исходник (Отобразить)
4. ivantu - 22 Августа, 2019 - 05:12:59 - перейти к сообщению
Друзья, что же , нет никаких вариантов, как сделать "многостраничность" через winApi
5. Kibor - 22 Августа, 2019 - 05:14:43 - перейти к сообщению
Убирайте одни контролы за пределы окна, делайте их не активными и на их место ставьте другие сделав их активными.
6. ivantu - 22 Августа, 2019 - 05:16:25 - перейти к сообщению
Очень много контролов, боюсь заплутаться.. (
7. Dantes3000 - 22 Августа, 2019 - 05:36:29 - перейти к сообщению
 ivantu пишет:
Очень много контролов, боюсь заплутаться.. (


Поставить определенные наборы контролов в отдельные функции, которые принимают 0/1, где 1 - установить контролы на место, 0 - убрать за пределы окно.
8. 007wan - 22 Августа, 2019 - 05:46:57 - перейти к сообщению
а не проще тебе вывести скрин диалога на диалог? Для каких целей тебе диалог внутри диалога? Просто может другое решение есть.
(Добавление)
Нашел вот. если полезно ббудет
Диалог внутри диалога
9. Nikanr - 22 Августа, 2019 - 05:55:15 - перейти к сообщению
Может это подойдет? Если я конечно правильно понял что требуется

CODE:
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
external(INT, "SendMessage", "SendMessageA", "User32.dll" );

int dil; //контроль диалогов
int baton1, baton2, baton3, baton4;

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


loop() pause(100);

function getmessage(0, WM_CREATE){
baton1=CreateWindow(0, "BUTTON", "Контролы диалога 1",768+8192+1342177280, 12, 100, 100, 40, gethwnd(0), 0, 0, 0);
baton2=CreateWindow(0, "BUTTON", "Контролы диалога 2",768+8192+1342177280, 12, 150, 100, 40, gethwnd(0), 0, 0, 0);
}


function getmessage(0, WM_COMMAND){
if (message.lparam==baton1){
dil=1;//диалог создан
createdialog(1);
showdialog(1, "Диалог", 835, 390, 250, 300, 4, 1);
}
if (message.lparam==baton2){
dil=2;
createdialog(1);
showdialog(1, "Диалог", 835, 390, 250, 300, 4, 1);
}
}

function getmessage(1, WM_CREATE){
if(dil==1){
baton3=CreateWindow(0, "BUTTON", "галка", 3+1342177280, 10, 112, 166, 20, gethwnd(1), 0, 0, 0);
}
}

function getmessage(1, WM_CLOSE){
dil=0;
destroydialog(1);
}


Еще можно добавить WM_LBUTTONDOWN и WM_LBUTTONUP и флаг, что бы галка оставалась визуально активной если диалог закрыть и открыть заново
10. 007wan - 22 Августа, 2019 - 06:04:31 - перейти к сообщению
Или это:
Код (Отобразить)

(Добавление)
Да даже тот код, который я выложил можно сделать, что бы 2 диалог был на диалоге, просто координаты удерживать и всё и диалог никуда не уйдет с диалога

Powered by ExBB FM 1.0 Final