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

Вниз

ICQ   Найти похожие ветки 

 
webpauk   (2005-08-03 12:16) [0]

Подскажите как ICQ сдвигает все окна влево


 
Digitman ©   (2005-08-03 12:17) [1]

чавой-то ?!


 
Eraser ©   (2005-08-03 12:19) [2]

webpauk   (03.08.05 12:16)

Не знаю как у Вас... у меня аська ничего никуда не двигает.


 
webpauk   (2005-08-03 12:20) [3]

Окно ICQ автоматически изменяет ClientRect (я так думаю) рабочего стола


 
DesWind ©   (2005-08-03 12:20) [4]

Двигает когда прикрепляешь к краю рабочего стола


 
Digitman ©   (2005-08-03 12:23) [5]


> webpauk   (03.08.05 12:20) [3]
> Окно ICQ


кто такой "Окно ICQ" ?


 
webpauk   (2005-08-03 12:28) [6]


> Digitman ©

Основное, с контактами


 
Digitman ©   (2005-08-03 12:34) [7]


> webpauk   (03.08.05 12:28) [6]


вообще-то ICQ - это сеть ..

и если речь идет о конкретном клиенте этой сети, неплохо было бы конкретизировать, о каком клиенте речь идет ..


 
webpauk   (2005-08-03 12:42) [8]


> Digitman ©

не будем говорить что такое ICQ
меня интересует только то, как можно показывая своё окно сдвинуть все остальные открытые окна других программ в сторону, причем чтобы даже когда их максимизируешь, они распахивались не на весь рабочий стол, а только до моего окна (Align=alRight)


 
Digitman ©   (2005-08-03 12:49) [9]


> webpauk   (03.08.05 12:42) [8]


> не будем говорить что такое ICQ


значит ты должен понимать, что ICQ есть сеть (!), а не какая-то там клиентская "фитюлина-приблуда" (неизвестнго чьего производства), черт-те что якобы делающая, запускаемая из какого-то там меню на твоем раб.столе.


 
ANB ©   (2005-08-03 12:57) [10]

Ща веточку прикроют. Гы. А автор будет вопеть в потрепаловке - за что, хотя ему лень было тему правильно оформить. Каким боком аська к заданному вопросу ?


 
ANB ©   (2005-08-03 12:58) [11]

Удалено модератором


 
webpauk   (2005-08-03 12:59) [12]


> Digitman ©

Да меня интересует только механизм отодвигания окон окном ICQ


 
Eraser ©   (2005-08-03 12:59) [13]

Удалено модератором


 
webpauk   (2005-08-03 13:00) [14]


> ANB ©   (03.08.05 12:57) [10]
> Ща веточку прикроют. Гы. А автор будет вопеть в потрепаловке
> - за что, хотя ему лень было тему правильно оформить. Каким
> боком аська к заданному вопросу ?

Да аська никаким боком к этому не привязана, её я взял для примера. Так же делает например Help-окно в Excele


 
Digitman ©   (2005-08-03 13:02) [15]


> webpauk   (03.08.05 12:59) [12]


ты бестолков на редкость)

есть Mirabilis-клиент ICQ-сервера
есть Trillian-клиент  того же ICQ-сервера
есть Miranda-клиент  того же ICQ-сервера
есть HrenZnaetKto-клиент того же ICQ-сервера

ты сейчас о КАКОМ клиенте ведешь речь ?)


 
webpauk   (2005-08-03 13:10) [16]


> Digitman ©  


как можно показывая своё окно сдвинуть все остальные открытые окна других программ в сторону, причем чтобы даже когда их максимизируешь, они распахивались не на весь рабочий стол, а только до моего окна (Align=alRight)

Оставь ICQ в покое, если ты не понимаешь, что она взята для примера


 
DVM ©   (2005-08-03 13:11) [17]

ShAppBarMessage()


 
webpauk   (2005-08-03 13:11) [18]


> Digitman ©  


Обрати внимание на вопрос. В нем, по-моему, предельно ясно чего я хочу


 
Digitman ©   (2005-08-03 13:17) [19]


> webpauk   (03.08.05 13:11) [18]


> по-моему предельно ясно


это - "по-твоему".

а по-моему - ничерта не ясно.

если же речь идет о drag"n"dock-технологии/механизме, то о нем и надо задавать вопрос, а не о каких-то там "ICQ"


 
webpauk   (2005-08-03 13:18) [20]


> Оставь ICQ в покое, если ты не понимаешь, что она взята
> для примера


 
wal ©   (2005-08-03 13:18) [21]


> Обрати внимание на вопрос. В нем, по-моему, предельно ясно
> чего я хочу
Тема: ICQ, вопрос: Подскажите как ICQ сдвигает все окна влево.
Телепатам, наверное, предельно ясно, и что такое ICQ, и как оно окна сдвигает, да еще и влево.


 
DVM ©   (2005-08-03 13:19) [22]


> Обрати внимание на вопрос. В нем, по-моему, предельно ясно
> чего я хочу

Ты бы лучше в пример привел не ICQ а панель задач - яснее было бы. Она тоже аппбар.


 
webpauk   (2005-08-03 13:22) [23]


> Digitman ©  

кроме того я спрашивал как одна программа сдвигает окна других программ. Именно на этом акцентировалось внимание отвечающих! я не спрашивал что такое ICQ. Я не спрашивал и прочие вещи, которые вы так любезно мне сообщали!!!


 
webpauk   (2005-08-03 13:24) [24]


> DVM ©  

чтобы правильно сформулировать вопрос, надо знать как хотя бы часть ответа.


 
Digitman ©   (2005-08-03 13:28) [25]


> webpauk   (03.08.05 13:22) [23]


да что ты говоришь ?!

цитирую тебя :


> как ICQ сдвигает все окна влево


и сразу возникает вопросы :
- что такое "ICQ" в твоем понимании ?
- что значит "сдвигает" ?
- что значит "все" ?
- почему именно "влево" ?


 
webpauk   (2005-08-03 13:39) [26]


> Digitman ©  

не обратил внимание на слово "окна"


 
webpauk   (2005-08-03 13:40) [27]


> Digitman ©   (03.08.05 13:28) [25]


> webpauk   (03.08.05 13:24) [24]
>
> > DVM ©  
>
> чтобы правильно сформулировать вопрос, надо знать как хотя
> бы часть ответа.


 
Digitman ©   (2005-08-03 13:41) [28]


> webpauk   (03.08.05 13:39) [26]
> не обратил внимание на слово "окна"


еще как обратил !)

ну и КАКОЕ же отношение ICQ-сеть имеет к каким-то там "окнам" ?


 
webpauk   (2005-08-03 13:41) [29]


> Digitman ©   (03.08.05 13:28) [25]

http://www.delphimaster.ru/vopros/index.html


 
Digitman ©   (2005-08-03 13:42) [30]

это что было ?)


 
webpauk   (2005-08-03 13:44) [31]


> Digitman ©   (03.08.05 13:41) [28]

а при чём тут ICQ-сеть. Если вопрос идет об окнах, то меня явно не интересует технологии, лежащие в основе ICQ. Предполагалось, что окно с контактами (основное) и есть ICQ? которое меня интересовало.


 
webpauk   (2005-08-03 13:46) [32]


> Digitman ©   (03.08.05 13:42) [30]

а это ссылка, которая находится в шапке окна, при добавлении нового вопроса.
Цитирую : "И еще, прежде чем задать вопрос, мы настоятельно рекомендуем прочитать рассказ известного писателя-фантаста Роберта Шекли "Верный вопрос". Мы считаем, что после прочтения Вы сможете более правильно сформулировать вопрос, и получите на него ответы, в которых не разочаруетесь."


 
wal ©   (2005-08-03 13:52) [33]


> [32] webpauk   (03.08.05 13:46)
Сам то прочел, прежде чем в тебе гордо "ICQ" вывести?


 
Digitman ©   (2005-08-03 13:53) [34]


> а при чём тут ICQ-сеть


а при чем тут тогда САБЖ вопроса, фигурирующий в топике твоего первоначального поста : ICQ ?


> Если вопрос идет об окнах, то меня явно не интересует технологии,
> лежащие в основе ICQ


тогда и еще раз - а при чем тут ICQ ?!


> Предполагалось, что окно с контактами (основное) и есть
> ICQ?


с какого перепугу-то "предполагалось" ?!

если речь идет о WinGUI-приложении, реализующем кл.логику и кл.интерфейс ICQ-сервиса, то у меня, к примеру, установлен мультиклиент Trillian (к ICQ он тоже имеет прямое отношение), там тоже есть "окна", если для тебя это новость, но никто там никого никуда не "сдвигает" - ни вправо, ни влево ... ни "все окна", ни через одного ...

и ?


 
ANB ©   (2005-08-03 13:58) [35]

Удалено модератором


 
Digitman ©   (2005-08-03 13:58) [36]


> webpauk


ты когда здесь ведешь речь, например, о вэб-браузере, таки упоминаешь наверно, о каком речь идет - об IE ли ? Опере ли ? Netscape-навигаторе ли ? каком-либо ином ?

ну так это ж ТОЖЕ клиенты некоего сетевого сервиса ! или группы сервисов !


 
webpauk   (2005-08-03 13:59) [37]


> Digitman ©   (03.08.05 13:53) [34]


ICQ - наиболее ярко выражает суть моего вопроса. Как называется технология я не знал. Спасибо добрым людям, которые просветили насчет AppBar


 
webpauk   (2005-08-03 14:01) [38]


> Digitman ©   (03.08.05 13:58) [36]

еще раз повторяю, я акцентировал вопрос на слове "окна"


 
Digitman ©   (2005-08-03 14:02) [39]


> ICQ - наиболее ярко выражает суть моего вопроса


абсолютно никак не выражает.

то что у тебя в голове ассоциируется с чем-то, вовсе не обязано ассоциироваться с тем же самым у других людей.


 
DVM ©   (2005-08-03 14:03) [40]


> webpauk

Можно и без аппбаров

function EnumWindowsProc (hWnd: HWND; Data: Pointer) : BOOL; stdcall;
var
 rcWorkArea, rcWindow: TRect;
 dx, dy: integer;
begin
 rcWorkArea := TRect(Data^);
 if IsMoveableWindow(hWnd) then
   begin

     // Если окно максимизировано, подстраиваем его размеры по рабочей области
     GetWindowRect(hwnd, rcWindow);
     if IsZoomed(hWnd) then
       MoveWindow(hwnd, rcWorkArea.Left, rcWorkArea.Top, rcWorkArea.Right - rcWorkArea.Left, rcWorkArea.Bottom - rcWorkArea.Top, true)
     else
       begin
     // Если высота окна больше высоты рабочей области
     GetWindowRect(hwnd, rcWindow);
     if GetWindowHeight(hWnd) > (rcWorkArea.Bottom - rcWorkArea.Top) then
       begin
         dy:=GetWindowHeight(hWnd)-(rcWorkArea.Bottom - rcWorkArea.Top);
         if IsSizeableWindow(hWnd) then
           MoveWindow(hwnd, rcWindow.Left, rcWorkArea.Top, GetWindowWidth(hWnd), GetWindowHeight(hWnd) - dy, true);
       end;

     // Если ширина окна больше ширины рабочей области
     GetWindowRect(hwnd, rcWindow);
     if GetWindowWidth(hWnd) > (rcWorkArea.Right - rcWorkArea.Left) then
       begin
         dx:=GetWindowWidth(hWnd)-(rcWorkArea.Right - rcWorkArea.Left);
         if IsSizeableWindow(hWnd) then
           MoveWindow(hwnd, rcWorkArea.Left, rcWindow.Top, GetWindowWidth(hWnd)-dx, GetWindowHeight(hWnd), true);
       end;

     // Если окно заезжает за верхний край рабочей области
     GetWindowRect(hwnd, rcWindow);
     if rcWindow.top < rcWorkArea.top then
       begin
         dy := rcWorkArea.top - rcWindow.top;
         if dy > (rcWorkArea.Bottom - rcWindow.Bottom) then
           dy := rcWorkArea.Bottom - rcWindow.Bottom;
         MoveWindow(hwnd, rcWindow.Left, rcWindow.Top + dy, GetWindowWidth(hWnd), GetWindowHeight(hWnd), true);
       end;

     // Если окно заезжает за нижний край рабочей области
     GetWindowRect(hwnd, rcWindow);
     if rcWindow.Bottom > rcWorkArea.Bottom then
       begin
         dy := rcWindow.Bottom - rcWorkArea.Bottom;
         if dy > (rcWindow.Top - rcWorkArea.Top) then
           dy := rcWindow.Top - rcWorkArea.Top;
         MoveWindow(hwnd, rcWindow.Left, rcWindow.Top - dy, GetWindowWidth(hWnd), GetWindowHeight(hWnd), true);
       end;

     // Если окно заезжает за левый край рабочей области
     GetWindowRect(hwnd, rcWindow);
     if rcWindow.Left < rcWorkArea.Left then
       begin
         dx :=  rcWorkArea.Left - rcWindow.Left;
         if dx > (rcWorkArea.Right - rcWindow.Right) then
           dx := rcWorkArea.Right - rcWindow.Right;
         MoveWindow(hwnd, rcWindow.Left+dx, rcWindow.Top, GetWindowWidth(hWnd), GetWindowHeight(hWnd), true);
       end;
     GetWindowRect(hwnd, rcWindow);

     // Если окно заезжает за правый край рабочей области
     if rcWindow.Right > rcWorkArea.Right then
       begin
         dx := rcWindow.Right - rcWorkArea.Right;
         if dx > (rcWindow.Left - rcWorkArea.Left) then
           dx := rcWindow.Left - rcWorkArea.Left;
         MoveWindow(hwnd, rcWindow.Left-dx, rcWindow.Top, GetWindowWidth(hWnd), GetWindowHeight(hWnd), true);
       end;
      end;
   end;
 Result := true;
end;

//------------------------------------------------------------------------------

procedure SetWorkAreaWithMoveWindows;
var
 rcNewWorkArea: TRect;
 rcTaskBar: TRect;

begin
 rcNewWorkArea := Rect(0,
                       0,
                       GetSystemMetrics(SM_CXSCREEN),
                       GetSystemMetrics(SM_CYSCREEN));
 GetWindowRect(hTaskBarWnd, rcTaskBar);
 case GetEdge of
   tbeLeft: rcNewWorkArea.Left := rcTaskBar.Right;
   tbeTop:  rcNewWorkArea.Top := rcTaskBar.Bottom;
   tbeRight: rcNewWorkArea.Right := rcTaskBar.Left;
   tbeBottom: rcNewWorkArea.Bottom := rcTaskBar.Top;
 end;
 SystemParametersInfo(SPI_SETWORKAREA, 0, @rcNewWorkArea, SPIF_SENDCHANGE);

 EnumWindows(@EnumWindowsProc, LongInt(@rcNewWorkArea));
end;



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

Форум: "Основная";
Текущий архив: 2005.08.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.56 MB
Время: 0.041 c
14-1122758899
Агент_Смит
2005-07-31 01:28
2005.08.21
Транзакции в IB


8-1113616597
Ivanov
2005-04-16 05:56
2005.08.21
Image из .pak - файла


14-1122913353
Kerk
2005-08-01 20:22
2005.08.21
Хотел запустить IRC-бота у себя на хостинге...


14-1122399553
БарЛог
2005-07-26 21:39
2005.08.21
Стихи


4-1119515376
MegaVolt
2005-06-23 12:29
2005.08.21
Можно ли по коду сообщения получить его название?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский