Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.10;
Скачать: CL | DM;

Вниз

Как реализовать прилипание Form к краям десктопа (как у ICQ)?   Найти похожие ветки 

 
Gear   (2004-09-15 21:52) [0]

Как реализовать прилипание Form к краям десктопа (как у ICQ)? Пожалуйста подскажите есть ли компонент готовый или примеры реализации у кого?


 
GanibalLector ©   (2004-09-15 22:00) [1]

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.


 
Gear   (2004-09-15 22:26) [2]

Спасибо! Только вот ещё чтобы оно по всей высоте занимало место на десктопе и чтобы выталкивало все окна из своего региона как это делает ICQ.


 
Svit ©   (2004-09-15 22:59) [3]

Свойство формы Align для чтобы "по всей высоте занимало место на десктопе" а как с другими окнами сделать - не знаю.


 
Svit ©   (2004-09-15 22:59) [4]

Свойство формы Align для чтобы "по всей высоте занимало место на десктопе" а как с другими окнами сделать - не знаю.


 
Fedia   (2004-09-15 23:06) [5]

А присвоение свойству главной формы FormStyle значения fsStayOnTop это случайно не то, что тебе нужно?


 
Gear   (2004-09-15 23:19) [6]

то,как одно из необходимых вещей, но что разве никто не запускал ICQ с открытым IE на весть десктоп? окно ICQ подвигало окно IE и  все остальные и умещалось сбоку.


 
Fedia   (2004-09-15 23:25) [7]

У меня версия ICQ 2003a и она почему-то никуда не подвигает Explorer :(


 
Gear   (2004-09-16 00:13) [8]

Да ну парни вы чего. Неужели у вас ICQ перкрывает своим видом IExplorer и чтобы увидеть страницу целиком вам приходится каждый раз сворачивать ICQ в трэй?


 
Kolan ©   (2004-09-16 00:57) [9]

По поводу прилипания. У тебя же D7 так там у формы есть свойство
ScreenSnap-True-False это прилипание, а SnapBuffer с кокого расстояния прилипать.


 
Gear   (2004-09-16 01:03) [10]

ну практически всё уже додумали..осталось только чтобы окошко не перекрывало другие окна а создавало свой регион в котором размещалось и не пускало остальные окна..то есть не перекрывало их.


 
GanibalLector ©   (2004-09-16 01:08) [11]

2 Gear
>сталось только чтобы окошко не перекрывало другие окна а создавало свой регион в котором размещалось и не пускало остальные окна..то есть не перекрывало их.


http://delphimaster.net/view/4-1091617684/


 
Gear   (2004-09-16 01:16) [12]

Может я там что-то не понял, но того что мне надо решения нет. Ещё раз..нужен эффект вытеснения всех окон при нахождении формы с краю (как ICQ, панель задач). То есть чтобы эту форму никакие другие формы не перекрвали и не находились сзади этого окна (при раскрытии какой-либо формы на весь экран). Ну попробуйте панель задачь перекрыть. Хотя это тоже окно.


 
GanibalLector ©   (2004-09-16 01:22) [13]

Может я там что-то не понял
Отож...Я Вам дал ответ(вернее ссылку).
З.Ы.Да и еще,вообще-то поиск тут есть.Что в лом набрать и нажать кнопку???


 
kaZaNoVa ©   (2004-09-16 19:59) [14]

у миня миранда подвигает всё при помещении её например слева.
- вообще ВСЕ окна двигаются, как типа экран стал уже ;)


 
lipskiy ©   (2004-09-16 21:12) [15]

Я тоже все проверил, все работает, кроме вытеснения окон.
Аська вытесняет.
Мне кажется, копать надо в направлении панелей инструментов Windows, потому что именно они так себя ведут, панель задач можно считать частным случаем панели инструментов. Когда они прилипают к краю десктопа, то клиентскую часть рабочего стола уменьшают автоматически.


 
GanibalLector ©   (2004-09-16 21:22) [16]

Чё-то я не понял???Кто-то сомневается в моем коде???Что млин не работает???


 
Defunct ©   (2004-09-16 21:34) [17]

> Да ну парни вы чего. Неужели у вас ICQ перкрывает своим видом IExplorer и чтобы увидеть страницу целиком вам приходится каждый раз сворачивать ICQ в трэй?

Вообще-то большинству нравится работать со всем экраном. Зачем мне ICQ, которая "откусывает" участок рабочей области? Пусть висит себе в трее, а по большому счету, пусть висит где-то на сервере, чтобы даже память лишнюю не занимала. Если мне надо работать в ICQ, я на нее кликаю или запускаю Remote Desktop.

Вопрос: неужели вам нравятся такие "умные приложения" как PROMT Panel, MSO-Panel и прочее извините за выражение "говно" которое сокращает рабочую область экрана?


 
lipskiy ©   (2004-09-16 21:34) [18]


> Чё-то я не понял???Кто-то сомневается в моем коде???Что
> млин не работает???

У тя работает только прилипание, но не работает не растяжка по краю экрана, ни тем более вытеснение окон.


 
lipskiy ©   (2004-09-16 21:37) [19]

http://delphimaster.net/view/4-1091617684/ не работает.


> Вопрос: неужели вам нравятся такие "умные приложения" как
> PROMT Panel, MSO-Panel и прочее извините за выражение "говно"
> которое сокращает рабочую область экрана?


Лично мне нравятся приложения, которые предоставляют выбор. Аьска предоставляет. А прочее говно, которое просто режет экран и все - конечно говно.


 
DiamondShark ©   (2004-09-16 22:15) [20]

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/programmersguide/shell_int/shell _int_programming/appbars.asp


 
REP ©   (2004-09-17 08:42) [21]

Посмотри функцию
SystemParametersInfo
с параметром
SPI_GETWORKAREA

если я правильно понял


 
Gear   (2004-09-20 12:37) [22]

Посмотреть в MSDN это понятно. А вот кусок кода на Дельфи?


 
TUser ©   (2004-09-20 13:20) [23]

На самом деле в 7 версии у TForm есть св-ва SnapScreen и SnapBuffer


 
Gear   (2004-09-20 18:50) [24]

это не то


 
Dimaxx   (2004-09-20 23:37) [25]

http://www.sources.ru/delphi/delphi_stickyform.shtml


 
Gear   (2004-09-27 12:28) [26]

Товарищи! Ну не то это всё! Это как часть того что надо. Помимо того что оно прилипло к краю экрана, оно должно ещё и из своей рабочей области по ширине вытеснить другие окна. Как это делает миранда и ICQ. Прилипнув, занимает с краю всю облаласть экрана сбоку по ширине окна. Или снизу. Ну короче так же как это делает панель запуска appbar.



Страницы: 1 вся ветка

Текущий архив: 2004.10.10;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.134 c
1-1095753144
roma
2004-09-21 11:52
2004.10.10
kataloq


1-1095695552
volser
2004-09-20 19:52
2004.10.10
Редактирование ресурсов exe


14-1095916906
Dmitriy O.
2004-09-23 09:21
2004.10.10
Купил Сканер


14-1095699462
}|{yk
2004-09-20 20:57
2004.10.10
Группа Тартак, или украинский рэп


14-1095754445
_User_
2004-09-21 12:14
2004.10.10
OpenSource проект на Delphi (WinAPI)