Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как всех послать?


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


Наверх

Титульная страница Поиск, карта сайта Написать письмо