Zireael пишет:
rect_window[0] - координата X.
rect_window[1] - Y.
Не правда.
Код (Отобразить)CODE:#define WS_VISIBLE 268435456
#define WS_CHILD 1073741824
#define WS_BORDER 8388608
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
external(INT, "GetWindowRect", "GetWindowRect", "User32.dll");
int b0, rect_window[4];
createdialog(0);
showdialog(0, "Диалог",100, 100, 300, 300, 1, 1);
if(GetWindowRect(b0, address(#rect_window[0])))
{
messagebox(format(rect_window[0]));
messagebox(format(rect_window[1]));
}
function getmessage(0, WM_CREATE)
{
b0=CreateWindow(0, "BUTTON", "Кнопка", WS_BORDER | WS_CHILD | WS_VISIBLE, 20, 10, 100, 30, gethwnd(0), 0, 0, 0);
}
Результат: messagebox('123'); messagebox('135');
Показывать должен:
Цитата:
b0=CreateWindow(0, "BUTTON", "Кнопка", WS_BORDER | WS_CHILD | WS_VISIBLE, 20, 10, 100, 30, gethwnd(0), 0, 0, 0);
(Добавление)
Zireael пишет:
А вообще есть GetWindowInfo.
Сложно и много. Лишнее не нужно.
---
И чего?
Код (Отобразить)CODE:#define WS_VISIBLE 268435456
#define WS_CHILD 1073741824
#define WS_BORDER 8388608
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
external(INT, "GetClientRect", "GetClientRect", "User32.dll");
int b0, rect_window[4];
createdialog(0);
showdialog(0, "Диалог",100, 100, 300, 300, 1, 1);
function getmessage(0, WM_CREATE)
{
b0=CreateWindow(0, "BUTTON", "Кнопка", WS_BORDER | WS_CHILD | WS_VISIBLE, 20, 10, 100, 30, gethwnd(0), 0, 0, 0);
}
GetClientRect(b0, address(#rect_window[0]));
messagebox(format(rect_window[0]));
messagebox(format(rect_window[1]));
И чего не так?
(Добавление)
Результат:
Цитата:
messagebox(format(rect_window[0] = '0'));
messagebox(format(rect_window[1] = '0'));
messagebox(format(rect_window[2] = '98'));
messagebox(format(rect_window[3] = '28'));