|
Вопрос # 705/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!
Как вывести/отобразить компонент без формы или сделать форму прозрачной? Или как-то ещё?
Нужно, что-то вроде PopUp у Miranda.
Т.е., чтобы текст можно было отобразить без фона.
 |
Вопрос задал: Фамилия Имя Отчество (статус: Посетитель)
Вопрос отправлен: 6 июля 2007, 05:21
Состояние вопроса: открыт, ответов: 3.
|
Ответ #1. Отвечает эксперт: Матвеев Игорь Владимирович
Здравствуйте, Emfs!
Установить какой-нибудь цвет для формы (обычно в подобных целях используется clFuchsia). Установить свойство TransparentColorValue в этот цвет (clFuchsia), и установить свойство TransparentColor в True.
Все пиксели указанного цвета на форме станут прозрачными, т.е. в этих участвках клики формы собственно нет.
Также можно убрать заголовок окна: BorderStyle=bsNone
Ответ #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 - "скрыть" или "отобразить"
Приложение: Переключить в обычный режим- procedure TForm1.FormShow(Sender: TObject);
- begin
- Form1.Color := clRed;
-
- Form1.TransparentColorValue := clRed;
-
- Form1.TransparentColor := True;
- end;
 |
Ответ отправил: Дима Гусаков (статус: 2-ой класс)
Время отправки: 6 июля 2007, 23:43
|
Мини-форум вопроса
Мини-форум пуст.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|