![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как сделать панель задач? [D6, WinXP]
_Delphin_ © (2004-11-06 14:54:00)Привет всем! Я вот тут пытаюсь немного "крякнуть" WindowsXP - хочу вместо его explorer(а) сделать небольшой комплект из своих программ. И одна из программ - это реализация таскбара. Только вот я никак не могу разобраться с созданием закладок открытых окон системы на панели задач. Пробовал по функции FindWindow(...) находить окна, создавать в run-time закладки в виде панелей и по нажатию на панель написал, чтобы с помощью функции ShowWindow(...) открывалось нужное окно. Но чего-то у меня не получается, а чего - не могу понять! Помогите пожалуйста! Если не трудно - просто киньте пару строчек кода, как это реализовать!
DVM (2004-11-06 21:29:00) [1]
> И одна из программ - это реализация таскбара. Только вот
> я никак не могу разобраться с созданием закладок открытых
> окон системы на панели задач.
Я этим занимаюсь уже полтора года и шелл еще далек от завершения, так что парой строчек тут не обойтись. Парой десятков тысяч строк вполне.
> Пробовал по функции FindWindow(...) находить окна, создавать
> в run-time закладки в виде панелей
Хук WH_SHELL + EnumWindows + RegisterShellHookWindow() + для надежности таймер.
Панель не лучший выбор. Лучше ToolBar или TabControl.
При определенном усердии и терпении сделать можно все.
http://dvm.com.ru/files/Release.zip
Это не исходники. Это один из старых билдов. Пароль 3141592653.
> Помогите пожалуйста! Если не трудно - просто киньте пару
> строчек кода, как это реализовать!
Конкретный вопрос - конкретный ответ.
Игорь Шевченко (2004-11-06 17:24:00) [2]
> просто киньте пару строчек кода, как это реализовать!
Парой здесь не обойдешься...
> Пробовал по функции FindWindow(...) находить окна, создавать
> в run-time закладки в виде панелей и по нажатию на панель
> написал, чтобы с помощью функции ShowWindow(...) открывалось
> нужное окно
Это неверный путь. Получать список окон для кнопок на панели нужно функцией EnumWindows, пример есть в http://www.schevchenko.net.ru/SRC/EnumFunctions_60.zip
А по нажатию на копку на панели нужно вызывать функцию SetForegroundWindow.