Форум: "Основная";
Текущий архив: 2005.08.21;
Скачать: [xml.tar.bz2];
Вниз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;
← →
Digitman © (2005-08-03 14:04) [41]
> webpauk (03.08.05 14:01) [38]
>
> > Digitman © (03.08.05 13:58) [36]
>
> еще раз повторяю, я акцентировал вопрос на слове "окна"
врешь.
тема вопроса - "ICQ".
ICQ - это сеть.
А Мирабилис-клиент сети ICQ для Win имеет к ICQ-сети такое же отношение как яичница к божьему дару.
← →
ANB © (2005-08-03 14:11) [42]Удалено модератором
Примечание: Предупреждение
← →
webpauk (2005-08-03 14:15) [43]
> Digitman © (03.08.05 14:02) [39]
извините, что неправильно сформулировал вопрос.
> ты бестолков на редкость)
← →
webpauk (2005-08-03 14:16) [44]
> Digitman © (03.08.05 14:04) [41]
старался как мог. И объяснял! А вы мне всё сеть да сеть!
← →
ANB © (2005-08-03 14:17) [45]Удалено модератором
← →
Digitman © (2005-08-03 14:21) [46]
> webpauk (03.08.05 14:15) [43]
итак, попрыгав с бубном, можно сделать предположение, что речь твоя таки идет об интересных тебе особенностях реализации граф.интерфейса ICQ-клиента от Мирабилис под Win ? т.е. Win-приложения разработки компании Мирабилис, являющего собой клиента ICQ-сети и реализующего граф.интерфейс пользователя как полноценного клиента этой сети ?
← →
webpauk (2005-08-03 14:35) [47]
> Digitman © (03.08.05 14:21) [46]
>
> > webpauk (03.08.05 14:15) [43]
>
>
> итак, попрыгав с бубном, можно сделать предположение, что
> речь твоя таки идет об интересных тебе особенностях реализации
> граф.интерфейса ICQ-клиента от Мирабилис под Win ? т.е.
> Win-приложения разработки компании Мирабилис, являющего
> собой клиента ICQ-сети и реализующего граф.интерфейс пользователя
> как полноценного клиента этой сети ?
неа!!!
меня интересует только как плесень заводится по углам!
← →
Digitman © (2005-08-03 14:36) [48]
> webpauk (03.08.05 14:35) [47]
это заметно.
← →
ANB © (2005-08-03 14:42) [49]Удалено модератором
← →
webpauk (2005-08-03 15:11) [50]
> Digitman © (03.08.05 14:36) [48]
признайся ты работал в КГБ? сстолько придирок к моему невинному сабжу и вопросам!!!
← →
Slym © (2005-08-03 15:23) [51]SystemParametersInfo ()
SPI_GETWORKAREA/SPI_SETWORKAREA
← →
Slym © (2005-08-03 15:25) [52]Удалено модератором
← →
Digitman © (2005-08-03 15:26) [53]
> webpauk (03.08.05 15:11) [50]
да, работал.
и что ?
← →
webpauk (2005-08-03 15:29) [54]
> Digitman © (03.08.05 15:26) [53]
ничего!
для души хотелось!
← →
Slym © (2005-08-03 15:29) [55]Плохой программист - должен разобраться в грамотном техзадании.
Хороший программист - должен разобраться в любом тех задании.
Злой программист - разбираться вообще не будет и пошлет всех нах... (типа у меня и так работы...) и сядет смотрель порнуху успокаивая последний нерв
← →
Digitman © (2005-08-03 15:33) [56]
> webpauk (03.08.05 15:29) [54]
ну так получи сатисфакцию)
а касаемо сабжа -
> как ICQ сдвигает все окна влево
еще раз :
никакое "ICQ" никакие "окна" никуда не "сдвигает" - ни вправо, ни влево , ни раком, ни боком.
Страницы: 1 2 вся ветка
Форум: "Основная";
Текущий архив: 2005.08.21;
Скачать: [xml.tar.bz2];
Память: 0.56 MB
Время: 0.036 c