Показать сообщение отдельно

  #255  
Старый 19.07.2007, 14:41
z01b
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
С нами: 10182506

Репутация: 1393


По умолчанию

Цитата:
Сообщение от BlackLogic  
Копипаст:
Код:
var
  h: HWND;
begin
  h := findwindow(nil, 'Безымянный - Блокнот');
  if h <> 0 then
	SetWindowPos(h, HWND_BOTTOM, 1, 1, 20, 20, swp_nosize);
end;

 


Опять находим блокнот. Его дескриптор помещаем в переменную класса HWND[С английского Handle Window - дескриптор окна]. Далее используем функцию SetWindowPos для задания позиции. В качестве параметров нужно указать: 

Дескриптор окна, которое хотим переместить 
Идентификатор окна, которое предшествует перемещаемому окну в Z-последовательности. Z-последовательность это порядок, в котором формировались окна. Данный параметр указывает с какого именно окна необходимо начинать писк. В качестве значений может принимать либо дескриптор какого-либо окна в системе, либо одно из нижеследующих значений: 
HWND_BOTTOM Начало Z-последовательности 
HWND_NOTOPMOST Первое окно которое располагается не "поверх все окон" 
HWND_TOP Вершина Z-последовательности 
HWND_TOPMOST Первое окно которое располагается "поверх все окон" 
Позиция окна по горизонтали 
Позиция окна по вертикали 
Ширина окна 
Высота окна 
Спецификаторы изменения позиции и размеров окна[флаги]. Для задания значения можно комбинировать следующие константы 
SWP_DRAWFRAME Прорисовка фрейма вокруг окна. 
SWP_FRAMECHANGED Посылает сообщение WM_NCCALCSIZE окну, даже если размер его не был изменён. Если этот флаг не указан, сообщение WM_NCCALCSIZE будет посылаться, только после изменения размеров окна. 
SWP_HIDEWINDOW Скрывает окно. 
SWP_NOACTIVATE Не активизирует окно. Если же этот флаг не будет поставлен, окно активизируется и будет перемещено поверх всех окон. А вот встанет ли окно даже выше тех окон, которым задано HWND_TOPMOST или нет зависит от параметра hWndInsertAfter. 
SWP_NOCOPYBITS Если этот спецификатор не будет установлен, тогда содержимое клиентской области окна будет скопировано и вставлено во вновь отобразившееся окно после его перемещения. 
SWP_NOMOVE Сообщает, что нужно игнорировать параметры задания позиции окну. 
SWP_NOOWNERZORDER Сообщает, что не следует изменять позицию окна владельца в Z-последовательности. 
SWP_NOREDRAW Не перерисовывает окно. 
SWP_NOREPOSITION Такой же как и SWP_NOOWNERZORDER. 
SWP_NOSENDCHANGING Мешает окну получить сообщение WM_WINDOWPOSCHANGING. 
SWP_NOSIZE Сообщает, что нужно игнорировать параметры задания размеров окну. 
SWP_NOZORDER Сохраняет текущее положение в Z-последовательности (игнорирует сообщение hWndInsertAfter parameter). 
SWP_SHOWWINDOW Отображает окно.
cпс, +1
 
Ответить с цитированием