Zireael пишет:
Цитата:
Как вывести такую кнопку на диалог,рядом с закрыть?
CODE:
#define WS_EX_CONTEXTHELP 1024
#define WS_MINIMIZEBOX 131072
#define GWL_EXSTYLE -20
#define GWL_STYLE -16
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
external(INT, "SetWindowLong", "SetWindowLongA", "User32.dll" );
external(INT, "GetWindowLong", "GetWindowLongA", "User32.dll" );
createdialog(0);
showdialog(0, "Диалог",100, 100, 300, 300, 1, 0);
loop()sleep(100);
function getmessage (0, WM_CREATE)
{
SetWindowLong(gethwnd(0), GWL_STYLE, GetWindowLong(gethwnd(0), GWL_STYLE) + WS_MINIMIZEBOX);
SetWindowLong(gethwnd(0), GWL_EXSTYLE, GetWindowLong(gethwnd(0), GWL_EXSTYLE) - WS_EX_CONTEXTHELP);
}
#define WS_MINIMIZEBOX 131072
#define GWL_EXSTYLE -20
#define GWL_STYLE -16
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
external(INT, "SetWindowLong", "SetWindowLongA", "User32.dll" );
external(INT, "GetWindowLong", "GetWindowLongA", "User32.dll" );
createdialog(0);
showdialog(0, "Диалог",100, 100, 300, 300, 1, 0);
loop()sleep(100);
function getmessage (0, WM_CREATE)
{
SetWindowLong(gethwnd(0), GWL_STYLE, GetWindowLong(gethwnd(0), GWL_STYLE) + WS_MINIMIZEBOX);
SetWindowLong(gethwnd(0), GWL_EXSTYLE, GetWindowLong(gethwnd(0), GWL_EXSTYLE) - WS_EX_CONTEXTHELP);
}
---
Может так нужно было?
Код (Отобразить)
Изменил минус, на плюс))Кстати, как убрать этот курсор, если его не убрать, то ладно, а можно обработать это сообщение? Может WM_HELP?
(Добавление)
Вот более нормальный вариант. Предыдущие 2 как-то с изъянами:
-можно было изменять размер диалога при растягивании за угол
-Название диалога было в правой стороне.
---
Заменить на:
CODE:
SetWindowLong(gethwnd(1), GWL_STYLE, WS_SYSMENU + WS_CAPTION);//не давать растягивать диалог за края и дать ТОЛЬКО кнопку закрыть.
SetWindowLong(gethwnd(1), GWL_EXSTYLE, GetWindowLong(gethwnd(1), GWL_EXSTYLE) + WS_EX_CONTEXTHELP);//Дём кнопку помощи.
SetWindowLong(gethwnd(1), GWL_EXSTYLE, GetWindowLong(gethwnd(1), GWL_EXSTYLE) + WS_EX_CONTEXTHELP);//Дём кнопку помощи.
(Добавление)
007wan пишет:
SetWindowLong(gethwnd(0), GWL_STYLE, GetWindowLong(gethwnd(0), GWL_STYLE) + WS_MINIMIZEBOX);
Цитата:
Стиль WS_EX_CONTEXTHELP не может использоваться со стилями WS_MAXIMIZEBOX или WS_MINIMIZEBOX.
(Добавление)
Помогите запонить структуру в WM_HELP, что бы получать сообщение при нажатии на кнопку эту
(Добавление)
Не работает
CODE:
function getmessage(1, WM_HELP)
{
messagebox(1);
}
{
messagebox(1);
}