Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 705

Раздел: Delphi » Прочее
/ вопрос открыт /

Здравствуйте, уважаемые эксперты!

Как вывести/отобразить компонент без формы или сделать форму прозрачной? Или как-то ещё?
Нужно, что-то вроде PopUp у Miranda.
Т.е., чтобы текст можно было отобразить без фона.

Фамилия Имя Отчество Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Фамилия Имя Отчество (статус: Посетитель)
Вопрос отправлен: 6 июля 2007, 05:21
Состояние вопроса: открыт, ответов: 3.

Ответ #1. Отвечает эксперт: Матвеев Игорь Владимирович

Здравствуйте, Emfs!
Установить какой-нибудь цвет для формы (обычно в подобных целях используется clFuchsia). Установить свойство TransparentColorValue в этот цвет (clFuchsia), и установить свойство TransparentColor в True.

Все пиксели указанного цвета на форме станут прозрачными, т.е. в этих участвках клики формы собственно нет.

Также можно убрать заголовок окна: BorderStyle=bsNone

Ответ отправил: Матвеев Игорь Владимирович (статус: Студент)
Время отправки: 6 июля 2007, 07:33

Ответ #2. Отвечает эксперт: Вадим К

Здравствуйте, Emfs!
Есть ещё один способ, который ближе к мирандовским попапам. Ставим на форму метку, включаем прозрачность(По умолчанию - включена) AutoSize=false; WordWrap:=True; Align = alClient. у форму выставляем свойсвто AlphaBlend=true и AplphaBlendValue = 200 (подбираем эксперементально). Также у формы выставляем BorderStyle=bsNone;

Всё. Имеем форму, очень похожую на мирандовский попап. Можно и текст многострочный сделать.

Возможно вы захотите ещё и пару кнопок внизу иметь - ну это уже сами. подскажу, что хорошо подойдут SpeedButton, у которых Flat:=true;

Ответ отправил: Вадим К (статус: Академик)
Время отправки: 6 июля 2007, 11:09

Ответ #3. Отвечает эксперт: Дима Гусаков

Здравствуйте, Emfs!
Form1.Color - задает цвет формы

Form1.TransparentColorValue - цвет который необходимо "скрыть"

Form1.TransparentColor - "скрыть" или "отобразить"

Приложение:
  1. procedure TForm1.FormShow(Sender: TObject);
  2. begin
  3. Form1.Color := clRed;
  4.  
  5. Form1.TransparentColorValue := clRed;
  6.  
  7. Form1.TransparentColor := True;
  8. end;


Ответ отправил: Дима Гусаков (статус: 2-ой класс)
Время отправки: 6 июля 2007, 23:43


Мини-форум вопроса

Мини-форум пуст.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:37
Выполнено за 0.03 сек.