![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как всех послать?
joystick © (2004-07-18 17:18:00)Как сделать то же самое, что делает ICQ при запске? то есть извещает все окна о том, что размер полезной области экрана стал меньше, а оставшуюся область использует только для себя? И какое сообщение послать при закрытии, чтобы все вернуть эту область для использования
DVM (2004-07-18 18:45:00) [1]ShAppBarMessage()
GanibalLector (2004-07-18 17:24:00) [2]>Как всех послать?
м-да...ну,советую так и сказать: ДА ПОШЛИ ВЫ ВСЕ...
Дальше...как-то вопрос задан странно.Лично я нифига не понял.
Насколько я понял тебе нужно возвращать форму тогда,когда она ушла за пределы экрана???или что???
Если ДА,то вот :
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
procedure WMEXITSIZEMOVE(var Msg: TMessage); message WM_EXITSIZEMOVE;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.WMEXITSIZEMOVE(var Msg: TMessage);
var Screen: TRect;
begin
inherited;
SystemParametersInfo(SPI_GETWORKAREA, 0, @Screen, 0);
if Left < Screen.Left then Left := Screen.Left;
if Top < Screen.Top then Top := Screen.Top;
if (Left + Width) > Screen.Right then Left := (Screen.Right - Width);
if (Top + Height) > Screen.Bottom then Top := (Screen.Bottom - Height);
Msg.Result := 0;
end;
end.
jack128 (2004-07-18 17:23:00) [3]Application Desktop Toolbars + f1