![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
написать Текст поверх ВСЕХ компонентов на форме
Silver... © (2007-10-24 21:08:00)типа TLabel - НА ПЕРЕДНИЙ ПЛАН растянутый на всю форму
парюсь с Канвой но не получается по верх ВСЕХ контролов
DimaBr (2007-10-26 16:46:00) [1]Элементарно, создаём TWinControl и обрезаем его по форме текста (SetWindowRGN), забрасываем на форму и Bring To Front
Однокамушкин (2007-10-26 10:14:00) [2]
> Silver... © (25.10.07 17:47) [22]
> почему всетаки StaticTest.Transparent не работает?
Он работает только с соответствующим манифестом, а просто так работать и не должен
homm (2007-10-25 21:53:00) [3]> [24] Silver... © (25.10.07 18:28)
> тока еслиб StaticTest.Transparent работал, как ожидается,
> одним махом решил бы проблему
Ты наверное плохо себе представляешь, что такое прозрачный контрол…
Все, поверх чего он должен находится должно отрисовыватся либо до него, и эти объекты не должны клипатся по ректу этого компонета, фактически он должен быть невидим на момент прорисовки других окон. Либо все компоненты должны быть на одной канве.
Первое в виндовс не достижимо, а когда кажется, что вот вроде сдеала, находится еше один глюк…
Второе вполне реально и присутствует в КОЛ. НО! сама VCL в этом случае должна поддерживать некоторые вещи, которых нет.
Есть решение сделать на основе региона окно, тоже свои минуся, но для твоего случая вроде может подойти.
Silver... (2007-10-25 18:28:00) [4]
> homm © (25.10.07 18:06) [23]
возможно, тока еслиб StaticTest.Transparent работал, как ожидается, одним махом решил бы проблему
homm (2007-10-25 18:06:00) [5]> [22] Silver... © (25.10.07 17:47)
> с GetDC(0) несколько криво получается
c GetDCEx может получиться чуть менее криво.
Silver... (2007-10-25 17:47:00) [6]с GetDC(0) несколько криво получается
почему всетаки StaticTest.Transparent не работает?
Silver... (2007-10-25 16:18:00) [7]
> В чем это выражается?
Не прозрачно разумеется :)
StaticText = Стандартный TStaticText с палитры Additional :)
Мой скромный телепатор подсказывает
StaticText.Transparent := True;
Должно работать как уLabel1.Transparent := True;
homm (2007-10-25 16:06:00) [8]> [19] Silver... © (25.10.07 16:04)
> StaticText.Transparent := True; --- не работает
В чем это выражается?
Телепатор подсказывает, что ответ потому что
StaticText = class(TGraphicsControl)
Silver... (2007-10-25 16:04:00) [9]Кто-нибудь знает почему
StaticText.Transparent := True; --- не работает
[17] - также Transparent-а нету
Silver... (2007-10-25 15:56:00) [10]звеняюсь а вот и я (раньше не получилось)
> Когданибудь видел надпись «образец» в банке поверх бланка? я думаю что-то похожее имеется ввиду.
самое оно
Есть Форма на котороь выдается инфа на отдельныи монитор. Время от времени надо заострять внимание типа написать сверху "Внимание" не очень красиво показывать форму потом ее убирать надпись красивше.
Должно принадлежать форме на случаи если юзверю захочется именно в этот самый момент форму пододвинуть.
кажись StaticText мож подойти (чтоб особо ни парится) кстати а как центрировать теxт по вертикали?
щас [17] пробовать буду
Lacmus (2007-10-25 15:35:00) [11]
procedure TForm79.FormCreate(Sender: TObject);
begin
Panel1.Brush.Style := bsClear;
SetWindowLong(Panel1.Handle, GWL_EXSTYLE, GetWindowLong(Panel1.Handle, GWL_EXSTYLE) or WS_EX_TRANSPARENT);
Panel1.BringToFront;
end;
homm (2007-10-25 15:34:00) [12]> [14] Eraser © (25.10.07 15:32)
> а насчет КОЛ - это конечно хорошо, что там можно, но чаще
> всего использовать этот пакет просто неприемлемо.
Ну это уж пусть автор сам для себя решает.
homm (2007-10-25 15:33:00) [13]> [11] Eraser © (25.10.07 15:23)
> а, ну если автор имел ввиду это, то единственный выход GetDC(0)
Вообще, можно попытатся криво, с марганием сделать через GetDCEx.
Eraser (2007-10-25 15:32:00) [14]а насчет КОЛ - это конечно хорошо, что там можно, но чаще всего использовать этот пакет просто неприемлемо.
Eraser (2007-10-25 15:30:00) [15]
> homm © (25.10.07 15:26) [12]
> единственный выход
можно читать как единственный простой/доступный/приемлемый выход.
ясное дело, что можно и драйвер написать для этой цели свой.. или маркером на монитрое нарисовать )
homm (2007-10-25 15:26:00) [16]> [11] Eraser © (25.10.07 15:23)
> а, ну если автор имел ввиду это, то единственныйвыход GetDC(0)
Продолжай делать вид, что меня здесь нету %)
Eraser (2007-10-25 15:23:00) [17]
> homm © (25.10.07 14:55) [10]
> Когданибудь видел надпись «образец» в банке поверх бланка?
> я думаю что-то похожее имеется ввиду.
а, ну если автор имел ввиду это, то единственный выход GetDC(0), как и советовал в самом начале Правильный_Вася. Можно конечно с прозрачными областями поиграться у панели..
homm (2007-10-25 14:55:00) [18]> [9] Eraser © (25.10.07 14:49)
> а каком случаем с пом. [5] нельзя написать «поверх ВСЕХ
> компонентов на форме»?
Это будет панель с текстом поверх всех компонент, а никак не «Текст поверх ВСЕХ компонентов на форме».
Когданибудь видел надпись «образец» в банке поверх бланка? я думаю что-то похожее имеется ввиду.
Eraser (2007-10-25 14:49:00) [19]
> homm © (25.10.07 13:39) [6]
а каком случаем с пом. [5] нельзя написать «поверх ВСЕХ компонентов на форме»?
homm (2007-10-25 14:01:00) [20]> [7] KSergey © (25.10.07 13:52)
> Обманывать изволим?
В крайнем случае — заблуждатся, и то, если сможете опровергнуть.