Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создать окно наподобие TaskBar 
V
    Опции темы
-Сергей-
Дата 21.10.2007, 09:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 224
Регистрация: 2.8.2003
Где: Россия

Репутация: нет
Всего: 1



Доброго времени суток, уважаемые. Подскажите плиз как мне сделать окно как панель задач.
Код

procedure TForm1.FormCreate(Sender: TObject);
  var
  r : TRect;
begin
  SystemParametersInfo(SPI_GETWORKAREA, 0, Addr(r), 0);
  with Form1 do
  begin
    Left      := r.Left;
    Top       := r.Top;
    Height    := 32;
    Width     :=r.Right;
    FormStyle := fsStayOnTop;
  end;    // with
end;

И окно расположилось вверху рабочего стола. Но есть одна проблема: Окно перекрывает рабочий стол, а мне нужно чтобы так не было. Подскажите что и как нужно? Как мне изменить параметры рабочего стола?
--------------------
Для утвердительного ответа достаточно лишь одного слова - "да". Все прочие слова придуманы, чтобы сказать "нет".
PM MAIL WWW ICQ MSN   Вверх
fse
Дата 22.10.2007, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 75
Регистрация: 28.9.2007
Где: г. Рязань

Репутация: 1
Всего: 1



Привет!
Подумай в этом направлении:

Код

  Form1.ParentWindow := GetDesktopWindow;
  Form1.Align := alBottom;
  Form1.FormStyle := fsStayOnTop;


Не знаю, как себя прога поведёт, когда окну назначаешь левый родитель, но этот вариант почти рабочий.
По крайней мере уверен, что у твоей панельки родительское окно должно быть Desktop. Сам TaskBar так и сделан.
Ещё можешь для изучения запустить WinSight, что в поставке с Delphi и посмотри какие флаги у окон на десктопе, как располагаются.
Если VCL-овские формы будут глючно работать на неродном десктопе - то возможно надо будет переписать это на API.
Удачи!!!
PM MAIL   Вверх
-Сергей-
Дата 23.10.2007, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 224
Регистрация: 2.8.2003
Где: Россия

Репутация: нет
Всего: 1



fse, Спасибо за ответ, я уже сделал свою панельку. Используя SystemParametersInfo
Да, кстати, строчка Form1.ParentWindow := GetDesktopWindow; делает окно неактивным.


Это сообщение отредактировал(а) -Сергей- - 23.10.2007, 20:01
--------------------
Для утвердительного ответа достаточно лишь одного слова - "да". Все прочие слова придуманы, чтобы сказать "нет".
PM MAIL WWW ICQ MSN   Вверх
fse
Дата 24.10.2007, 06:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 75
Регистрация: 28.9.2007
Где: г. Рязань

Репутация: 1
Всего: 1



-Сергей-, она делает окно неактивным, т.к. оно перестаёт получать сообщения. Что говорю, VCL пот такое не заточен. Если писать на API то проблема исчезла бы.
Что ж, рад, что у тебя получилось, удачи! ;)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1951 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.