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

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

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

Всем отличного дня! :)
...
Рейтинг: 0 / 0
30.08.2018, 07:30
    #39695284
black manatee
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отодвигать как - Панель задач Windows.
Я сляпал свою панельку вот как то так:
Код: 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
30.08.2018, 09:19
    #39695334
defecator
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отодвигать как - Панель задач Windows.
Готовый класс, думать не надо, забирай
...
Рейтинг: 0 / 0
30.08.2018, 20:53
    #39695835
STUDENT LEARN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отодвигать как - Панель задач Windows.
defecator,
Очень приятно)
Я сегодня спецом скачала Lazarus, чтобы увидеть как будет блестеть Ваш Код.
Я же начинающая) Открыла код на Lazarus и компилировала на exe. И запустилась > без ошибок.
Только не увидела формочку. На экране монитора ничего не появилась. Но на диспетчере задач есть project1.exe процесс.
...
Рейтинг: 0 / 0
30.08.2018, 21:04
    #39695837
STUDENT LEARN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отодвигать как - Панель задач Windows.
black manatee,
Спасибо за старания.
Я сегодня скачала Lazarus и села компилировать Ваш код.
Но Ваш код выдаёт ошибку.
Скриншотик прикрепила к сообщению.
В чём может быть ошибка?
...
Рейтинг: 0 / 0
30.08.2018, 21:06
    #39695838
defecator
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отодвигать как - Панель задач Windows.
STUDENT LEARNdefecator,
Очень приятно)
Я сегодня спецом скачала Lazarus, чтобы увидеть как будет блестеть Ваш Код.
Я же начинающая) Открыла код на Lazarus и компилировала на exe. И запустилась > без ошибок.
Только не увидела формочку. На экране монитора ничего не появилась. Но на диспетчере задач есть project1.exe процесс.
потому что это класс, который управляет формой, котрую надо ему создать
Но, чувствую, что всё бесполезно, тебе надо начинать изучать всё с азов
...
Рейтинг: 0 / 0
30.08.2018, 21:22
    #39695846
STUDENT LEARN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отодвигать как - Панель задач Windows.
defecator,
То что Ваш код рабочий, я убедилась, не выдавал ошибок.
Может Вы мне поможете её закончить?
Я сама не справлюсь)
...
Рейтинг: 0 / 0
30.08.2018, 21:25
    #39695848
defecator
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отодвигать как - Панель задач Windows.
STUDENT LEARNdefecator,
То что Ваш код рабочий, я убедилась, не выдавал ошибок.
Может Вы мне поможете её закончить?
Я сама не справлюсь)
рабочий код - который выполняет свою задачу.

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

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


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