1. ivantu - 26 Мая, 2019 - 08:59:47 - перейти к сообщению
Доброго времени друзья, вопрос очень простой, как то можно позиционировать диалоги относительно друг друга, к примеру есть основное окно бота, юзер нажимает на кнопку настройки и появляется диалог с настройками к примеру вдоль правой стороны основного окна бота.
2. Zireael - 26 Мая, 2019 - 09:23:47 - перейти к сообщению
CODE:
#define WS_VISIBLE 268435456
#define WS_CHILD 1073741824
#define WS_BORDER 8388608
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
int b0;
win dialog;
createdialog(0); createdialog(1);
showdialog(0, "Диалог",100, 100, 300, 300, 1, 1);
loop()sleep(10);
function getmessage(0, WM_CREATE)
{
dialog=formatiw(gethwnd(0));
b0=CreateWindow(0, "BUTTON", "Открыть настройки", WS_BORDER | WS_CHILD | WS_VISIBLE, 20, 10, 150, 30, gethwnd(0), 0, 0, 0);
}
function getmessage(0, WM_COMMAND)
{
if (message.lparam==b0) // если нажата кнопка
{
setwindowparam(dialog); // получить параметры диалога
showdialog(1, "Настройки", dialog.left+dialog.width, dialog.top, 300, 300, 1, 1); // показать второй диалог
}
}
#define WS_CHILD 1073741824
#define WS_BORDER 8388608
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
int b0;
win dialog;
createdialog(0); createdialog(1);
showdialog(0, "Диалог",100, 100, 300, 300, 1, 1);
loop()sleep(10);
function getmessage(0, WM_CREATE)
{
dialog=formatiw(gethwnd(0));
b0=CreateWindow(0, "BUTTON", "Открыть настройки", WS_BORDER | WS_CHILD | WS_VISIBLE, 20, 10, 150, 30, gethwnd(0), 0, 0, 0);
}
function getmessage(0, WM_COMMAND)
{
if (message.lparam==b0) // если нажата кнопка
{
setwindowparam(dialog); // получить параметры диалога
showdialog(1, "Настройки", dialog.left+dialog.width, dialog.top, 300, 300, 1, 1); // показать второй диалог
}
}
3. ivantu - 26 Мая, 2019 - 09:31:44 - перейти к сообщению
Земной поклон, то что нужно!