powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Отодвигать как - Панель задач Windows.
11 сообщений из 11, страница 1 из 1
Отодвигать как - Панель задач Windows.
    #39695280
STUDENT LEARN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Какие успехи в кодинге?)
У меня такие...
Так. Мне нужна функция (код), которая отодвигает других только что Открытых окон - как наш родной "Панель задач". Он ведь отталкивает почти всех окон!
Отрытые окна НЕ будут поверх этого (панель задач) окна, а в место этого будут располагаться прикасаясь к краешкам окну с функцией Панель задач.

Нужна функция (отодвигающая других окон) окна Панель задач как у Windows.

Впервые зарегалась! Я уверена, что Вы мне поможете)

Всем отличного дня! :)
...
Рейтинг: 0 / 0
Отодвигать как - Панель задач Windows.
    #39695284
black manatee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я сляпал свою панельку вот как то так:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
procedure TfmMain.SetBar;
Var dSize: integer;
begin
  ZeroMemory(@AppBarData, SizeOf(TAppBarData));
  AppBarData.cbSize:=SizeOf(TAppBarData);
  // Добавляем наше окошко в список панелей задач Windows
  AppBarData.hWnd:=Handle;
  AppBarData.uCallbackMessage:=WM_APP+$101;
  Case mPosition of
    mLeft:   AppBarData.uEdge := ABE_LEFT;
    mTop:    AppBarData.uEdge := ABE_TOP;
    mRight:  AppBarData.uEdge := ABE_RIGHT;
    mBottom: AppBarData.uEdge := ABE_BOTTOM;
  end;
  AppBarData.lParam := 1;

  SHAppBarMessage(ABM_NEW, AppBarData);
  // Запрашиваем размеры свободной области экрана (ну то что пока не занято другими панелями задач)   
  AppBarData.rc:=Rect(0, 0, GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN));
  SHAppBarMessage(ABM_QUERYPOS, AppBarData);
  //  Уточняем ширину нашей панельки (ну это чисто наш код, можно просто написать 50)
  if mHide
    then dSize := cNotFloatDepth
    else dSize := mDepth;

  // Переопределяем размеры области для нашей панельки в зависимости от того
  //   к какой стороне экрана лепим нашу панельку  
  case mPosition of
    mLeft:   AppBarData.rc.Right  := AppBarData.rc.Left + dSize;
    mTop:    AppBarData.rc.Bottom := AppBarData.rc.Top + dSize;
    mRight:  AppBarData.rc.Left := AppBarData.rc.Right - dSize;
    mBottom: AppBarData.rc.Top := AppBarData.rc.Bottom - dSize;
  end;
  // Блокируем эту область под себя
  SHAppBarMessage(ABM_SETPOS, AppBarData);
  // Передвигаем нашу формочку на наше законное место
  SetWindowPos(Handle,
               Handle,
               AppBarData.rc.left,
               AppBarData.rc.top,
               AppBarData.rc.right-AppBarData.rc.left,
               AppBarData.rc.bottom-AppBarData.rc.top,
               SWP_NOZORDER or SWP_NOACTIVATE);

  SetBounds(AppBarData.rc.left
           ,AppBarData.rc.top
           ,AppBarData.rc.Right-AppBarData.rc.Left
           ,AppBarData.rc.Bottom-AppBarData.rc.Top);
end;
...
Рейтинг: 0 / 0
Отодвигать как - Панель задач Windows.
    #39695334
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Готовый класс, думать не надо, забирай
...
Рейтинг: 0 / 0
Отодвигать как - Панель задач Windows.
    #39695835
STUDENT LEARN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
defecator,
Очень приятно)
Я сегодня спецом скачала Lazarus, чтобы увидеть как будет блестеть Ваш Код.
Я же начинающая) Открыла код на Lazarus и компилировала на exe. И запустилась > без ошибок.
Только не увидела формочку. На экране монитора ничего не появилась. Но на диспетчере задач есть project1.exe процесс.
...
Рейтинг: 0 / 0
Отодвигать как - Панель задач Windows.
    #39695837
STUDENT LEARN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
black manatee,
Спасибо за старания.
Я сегодня скачала Lazarus и села компилировать Ваш код.
Но Ваш код выдаёт ошибку.
Скриншотик прикрепила к сообщению.
В чём может быть ошибка?
...
Рейтинг: 0 / 0
Отодвигать как - Панель задач Windows.
    #39695838
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
STUDENT LEARNdefecator,
Очень приятно)
Я сегодня спецом скачала Lazarus, чтобы увидеть как будет блестеть Ваш Код.
Я же начинающая) Открыла код на Lazarus и компилировала на exe. И запустилась > без ошибок.
Только не увидела формочку. На экране монитора ничего не появилась. Но на диспетчере задач есть project1.exe процесс.
потому что это класс, который управляет формой, котрую надо ему создать
Но, чувствую, что всё бесполезно, тебе надо начинать изучать всё с азов
...
Рейтинг: 0 / 0
Отодвигать как - Панель задач Windows.
    #39695846
STUDENT LEARN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
defecator,
То что Ваш код рабочий, я убедилась, не выдавал ошибок.
Может Вы мне поможете её закончить?
Я сама не справлюсь)
...
Рейтинг: 0 / 0
Отодвигать как - Панель задач Windows.
    #39695848
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
STUDENT LEARNdefecator,
То что Ваш код рабочий, я убедилась, не выдавал ошибок.
Может Вы мне поможете её закончить?
Я сама не справлюсь)
рабочий код - который выполняет свою задачу.

Нет, не помогу
...
Рейтинг: 0 / 0
Отодвигать как - Панель задач Windows.
    #39695852
STUDENT LEARN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
defecator,
Не буду спрашивать - Почему.
Вы Видимо не совсем уверены в своих кодах)
...
Рейтинг: 0 / 0
Отодвигать как - Панель задач Windows.
    #39695860
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
STUDENT LEARNdefecator,
Не буду спрашивать - Почему.
Вы Видимо не совсем уверены в своих кодах)
хорошая попытка
но нет
...
Рейтинг: 0 / 0
Отодвигать как - Панель задач Windows.
    #39695967
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorSTUDENT LEARNdefecator,
Не буду спрашивать - Почему.
Вы Видимо не совсем уверены в своих кодах)
хорошая попытка
но нет

Симптомы ПОГ detected
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Отодвигать как - Панель задач Windows.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]