Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];

Вниз

Как реализовать прилипание 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.04 c
1-1095613929
Evg12
2004-09-19 21:12
2004.10.10
Как читать стима строками.


4-1094559475
kblc
2004-09-07 16:17
2004.10.10
Как для TRichEdit ...


1-1095765434
demidoff
2004-09-21 15:17
2004.10.10
Простой вопрос новичка про указатели


1-1096112153
debuger
2004-09-25 15:35
2004.10.10
закрытся на TForm.Close


1-1095775511
misha123
2004-09-21 18:05
2004.10.10
ООП тип?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский