Zireael |
Отправлено: 28 Июля, 2020 - 12:07:56
|
Эксперт
Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: Это возможно?
В данный момент только через CreateWindow и getmessage.
radiobutton (Отобразить)CODE:#define WS_VISIBLE 268435456
#define WS_CHILD 1073741824
#define BS_AUTORADIOBUTTON 9
#define BM_SETCHECK 241
#define BST_CHECKED 1
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
int b[3];
int flag_radiobutton = 1;
createdialog(0);
showdialog(0, "Диалог",100, 100, 300, 200, 1, 1);
loop()
{
textout(0, 0, 0, "Выбрана галка: "+format(flag_radiobutton), 1);
sleep(100);
}
function getmessage(0, WM_COMMAND)
{
if (message.lparam==b[0])flag_radiobutton=0;
if (message.lparam==b[1])flag_radiobutton=1;
if (message.lparam==b[2])flag_radiobutton=2;
}
function getmessage(0, WM_CREATE)
{
b[0]=CreateWindow(0, "BUTTON", "Check0", WS_CHILD | WS_VISIBLE | BS_AUTORADIOBUTTON, 20, 10, 70, 20, gethwnd(0), 0, 0, 0);
b[1]=CreateWindow(0, "BUTTON", "Check1", WS_CHILD | WS_VISIBLE | BS_AUTORADIOBUTTON, 20, 35, 70, 20, gethwnd(0), 0, 0, 0);
b[2]=CreateWindow(0, "BUTTON", "Check2", WS_CHILD | WS_VISIBLE | BS_AUTORADIOBUTTON, 20, 60, 70, 20, gethwnd(0), 0, 0, 0);
sendmessage(BM_SETCHECK, BST_CHECKED, 0, formatiw(b[flag_radiobutton]));
} |
|
|
Zireael |
Отправлено: 10 Августа, 2020 - 11:25:35
|
Эксперт
Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: можно ли добавить в диалоговое окно картинку.... смысл в том что бы тыкнув на определенное место на картинке, получить координаты места, относительно этой картинки.
code (Отобразить)CODE:#define WS_VISIBLE 268435456
#define WS_CHILD 1073741824
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
createdialog(0);
int posX=0, posY=0;
int button0;
showdialog(0, "Диалог",500, 200, 310, 360, 1, 1);
textbkcolor(255, 65280);
loop()
{
textout(0, 500, 160, "Координаты клика: "+format(posX)+", "+format(posY), 1);
sleep(10);
}
function getmessage(0, WM_CREATE)
{
// создать кнопку
button0=CreateWindow(0, "BUTTON", "Кнопка", WS_CHILD | WS_VISIBLE, 20, 305, 70, 24, gethwnd(0), 0, 0, 0);
// вывести на диалог избражение с экрана или с загруженной картинки
visualwindow(formatiw(gethwnd(0)), 0, 0, 0, 300, 300, 0, 0, 100, -1);
}
function getmessage(0, WM_LBUTTONDOWN)
{
// если нажата левая кнопка мыши
posX=message.x;
posY=message.y;
}
function getmessage(0, WM_COMMAND)
{
if(message.lparam==button0)
{
messagebox("Нажата кнопка^r^nКоординаты клика: "+format(posX)+", "+format(posY));
return;
}
} |
|
|
|