Показать сообщение отдельно
Старый 03.07.2003, 12:41   #13  
garu is offline
garu
Участник
 
33 / 21 (1) +++
Регистрация: 03.07.2003
Модальное только по отношению к вызвавшему
А вот так еще можно ограничить модальность, т.е окно будет модальное только по отношению к окну которое его вызвало

public static void setFormModal_toPrevHWND(int thisHWND, int prevHWND, boolean bModal)
{
DLL winApiDLL;
DLLFunction EnabledWindow;
DLLFunction getNext;

void local_enableWHND(int lhWnd)
{

while (lhWnd)
{
enabledWindow.call(prevHWND, (! bModal));

lhWnd = getNext.call(lhWnd, 2);
}
}
;

winApiDLL = new DLL('user32');
getNext = new DLLFunction(winApiDLL, "GetWindow");
EnabledWindow = new DLLFunction(winApiDLL, "EnableWindow");

EnabledWindow.returns(ExtTypes::DWORD);
EnabledWindow.arg(ExtTypes::DWORD, ExtTypes::DWORD);

getNext.returns(ExtTypes::DWORD);
getNext.arg(ExtTypes::DWORD, ExtTypes::DWORD);

local_enableWHND(thisHWND);

}
За это сообщение автора поблагодарили: kashperuk (4).