Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.01.2011, 11:29   #1
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию Отображение в панели задач.

Сейчас "перебираю движок" в GF и нашел свою старую процедуру создания формы:

Код:
...
  If OnTaskBar Then SetWindowLong(Warehouse.Form[Length(Warehouse.Form) - 1].Handle,

                    GWL_EXSTYLE,

                    GetWindowLong(Warehouse.Form[Length(Warehouse.Form) - 1].Handle,

                                  GWL_EXSTYLE) Or WS_EX_LAYERED)

               Else SetWindowLong(Warehouse.Form[Length(Warehouse.Form) - 1].Handle,

                    GWL_EXSTYLE,

                    GetWindowLong(Warehouse.Form[Length(Warehouse.Form) - 1].Handle,

                                  GWL_EXSTYLE) Or WS_EX_LAYERED Or WS_EX_TOOLWINDOW);
...
Припоминаю, что не могу сделать иначе - после создания формы уже не мог поменять стиль на EX_TOOLWINDOW. Может я что-то делал не так? После создания чисто вызывал строку
Код:
SetWindowLong(Warehouse.Form[Length(Warehouse.Form) - 1].Handle,

                    GWL_EXSTYLE,

                    GetWindowLong(Warehouse.Form[Length(Warehouse.Form) - 1].Handle,

                                  GWL_EXSTYLE) Or WS_EX_LAYERED Or WS_EX_TOOLWINDOW);
Но таки ни в какую. Есть другой метод? Чтобы можно было создать, например, без кнопки на таскбаре, а потом убрать и наоборот?

___________________________

Нашел полезную доку:
http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx

Говорится, что нужно делать ShowWindow с SW_HIDE менять стиль и показывать окно.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ

Последний раз редактировалось Alex Cones; 24.01.2011 в 11:34.
Alex Cones вне форума Ответить с цитированием
Старый 24.01.2011, 14:45   #2
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Код:
if not SetWindowLong(...) then
  RaiseLastOSError;
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TrayIcon и отображение на панели задач fezilk25 Общие вопросы Delphi 1 19.11.2010 15:30
Скрыть кнопку с панели задач Vikenty Win Api 6 01.08.2010 15:06
апплет панели задач skalt12 Общие вопросы Delphi 5 01.08.2010 14:34
Отображение смены языка (замена языковой панели), Delphi 7 AndersX Помощь студентам 2 29.07.2009 12:21