Собственно, что то типо виджета, который можно перемещать по экрану и закрепить в удобном месте.
Нажмите для увеличения
Как такое сделать?
Как закрепить диалоговое окно поверх всех окон?
Можно ли сделать чтобы кнопки подсвечивались при нажатии?
1. Budni - 03 Апреля, 2019 - 06:28:58 - перейти к сообщению
2. Zireael - 03 Апреля, 2019 - 06:40:34 - перейти к сообщению
3. Budni - 03 Апреля, 2019 - 08:29:14 - перейти к сообщению
Zireael пишет:
Спасибо, а можно как то скрыть само диалоговое окно? Чтобы просто рядом кнопки были?
4. Zireael - 03 Апреля, 2019 - 18:43:09 - перейти к сообщению
Цитата:
а можно как то скрыть само диалоговое окно?
Нет, на него вводится статик. Можно убрать рамку окна.
code (Отобразить)
5. Budni - 04 Апреля, 2019 - 02:44:36 - перейти к сообщению
Zireael пишет:
Нет, на него вводится статик. Можно убрать рамку окна.
Спасибо, но в таком случае я не могу передвигать кнопку по экрану, как это можно сделать?
6. Zireael - 04 Апреля, 2019 - 03:31:43 - перейти к сообщению
7. ivantu - 04 Апреля, 2019 - 07:05:51 - перейти к сообщению
Zireael пишет:
code (Отобразить)
Перетаскивать правой кнопкой мыши.
Перетаскивать правой кнопкой мыши.
У меня данный код не перетаскивает ни правой ни левой.
8. Kibor - 04 Апреля, 2019 - 07:44:48 - перейти к сообщению
Budni пишет:
я не могу передвигать кнопку по экрану, как это можно сделать?
CODE:
#define WS_CAPTION 12582912
external(INT, "SetWindowLong", "SetWindowLongA", "User32.dll" );
external(INT, "GetWindowLong", "GetWindowLongA", "User32.dll" );
createdialog(0);
//////////
showdialog(0, "Диалог", 558, 234, 250, 300, 1, 1);
//////////
win w;
int l=0;
int x, y;
int x1, y1;
loop()sleep(1);
function getmessage(0, WM_CREATE)
{
SetWindowLong(gethwnd(0), -16, GetWindowLong(gethwnd(0), -16) | WS_CAPTION); // убрать рамку диалога
}
function getmessage(0, WM_MOUSEMOVE)//Отлавливаем перемещение мыши
{
if (l==1)
{
getmouse(x1, y1);
w.leftclient=w.leftclient-(x-x1);
w.topclient=w.topclient-(y-y1);
x=x1; y=y1;
moveclient(w);
}
}
function getmessage(0, WM_LBUTTONDOWN)//Отлавливаем клик левой кнопки мыши
{
w=getwindow();
getmouse(x, y);
l=1;
//messagebox (x);
}
function getmessage(0, WM_LBUTTONUP)//Отлавливаем отпустить левой кнопки мыши
{
l=0;
}
external(INT, "SetWindowLong", "SetWindowLongA", "User32.dll" );
external(INT, "GetWindowLong", "GetWindowLongA", "User32.dll" );
createdialog(0);
//////////
showdialog(0, "Диалог", 558, 234, 250, 300, 1, 1);
//////////
win w;
int l=0;
int x, y;
int x1, y1;
loop()sleep(1);
function getmessage(0, WM_CREATE)
{
SetWindowLong(gethwnd(0), -16, GetWindowLong(gethwnd(0), -16) | WS_CAPTION); // убрать рамку диалога
}
function getmessage(0, WM_MOUSEMOVE)//Отлавливаем перемещение мыши
{
if (l==1)
{
getmouse(x1, y1);
w.leftclient=w.leftclient-(x-x1);
w.topclient=w.topclient-(y-y1);
x=x1; y=y1;
moveclient(w);
}
}
function getmessage(0, WM_LBUTTONDOWN)//Отлавливаем клик левой кнопки мыши
{
w=getwindow();
getmouse(x, y);
l=1;
//messagebox (x);
}
function getmessage(0, WM_LBUTTONUP)//Отлавливаем отпустить левой кнопки мыши
{
l=0;
}
9. Zireael - 04 Апреля, 2019 - 18:24:45 - перейти к сообщению
Цитата:
У меня данный код не перетаскивает ни правой ни левой.
Значит картинка "C:\Безымянный.bmp" отсутствует.