Форум: "Основная";
Текущий архив: 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