![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
The PRO |
![]() ![]()
Сообщение
#1
|
![]() Билл Гейтс =) ![]() Группа: Пользователи Сообщений: 23 Пол: Мужской Репутация: ![]() ![]() ![]() |
Хочу урасить форму и сделать её как в Висте.
А именно. Я хочу узнать, как сделать снимок той части экрана, которая находится под формой, это изображение поместить на компонент TImage, изображение растянуть по всей форме и применить к этому изображению эфферк Blur, чтобы форма выглядела как прозрачное запотевшее стекло. Заранее спасибо ![]() |
![]() ![]() |
мисс_граффити |
![]()
Сообщение
#2
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Просто изменить прозрачность формы - не устроит?
-------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
Просто прозрачность не даст эффекта запотевшего стекла. Для этого надо снять скриншот... Проблема в другом - допустим, при старте приложения снять его не проблема:
procedure TForm1.FormCreate(Sender: TObject);(на форме - один TImage привязанный к размерам формы) , но что ты будешь делать при перетягивании окна по экрану? Каждый раз снимать скриншот? Система повесится... Сообщение отредактировано: volvo - 27.06.2007 17:53 |
The PRO |
![]()
Сообщение
#4
|
![]() Билл Гейтс =) ![]() Группа: Пользователи Сообщений: 23 Пол: Мужской Репутация: ![]() ![]() ![]() |
Нет.
Неточно снимает скриншот того, что под формой. А насчёт того, что я буду делать при перетягивании окна по экрану - я буду менять фон формы только тогда, когда положение формы будет зафиксировано на экране. |
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
|
мисс_граффити |
![]()
Сообщение
#6
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Перетягивание - не единственная проблема.
У других окон есть привычка закрываться (ну например у касперского есть "закрыть окно при завершении проверки"). Если часть окна находилась под формой, а часть вне нее, может получиться интересная картинка ;) -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
The PRO |
![]()
Сообщение
#7
|
![]() Билл Гейтс =) ![]() Группа: Пользователи Сообщений: 23 Пол: Мужской Репутация: ![]() ![]() ![]() |
Это ты внукам рассказывать будешь: ![]() Добавить 1 или 2 пикселя, кстати, можешь и вручную, если для тебя это неточно... Программа снимает скриншот правильно только по событию Form1.OnCreate. А например если поместить на форму кнопку и поставить ту процедуру, что ты написал, под событие Button1.OnClick, скриншот уже будет сниматься неправильно. |
hardcase |
![]()
Сообщение
#8
|
![]() code warrior ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 484 Пол: Мужской Реальное имя: Славен Репутация: ![]() ![]() ![]() |
В любом случае нужно сперва отключить Border у формы - у каждого пользователя свои темы в винде, и везде их ширина бортика и высота заголовка отличаются.
Тогда размер окна совпадет с прямоугольником, который получаем через ClientRect. -------------------- ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
|
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
Цитата А например если поместить на форму кнопку , то поставь вот эту процедуру:procedure TForm1.GetBg; + не забудь в OnCreate формы добавить: ...(запусти с этими строками, и без них, поймешь зачем это нужно) |
Не важно... |
![]()
Сообщение
#10
|
Гость ![]() |
Теоритически можно постаить какой нибудь компанент типа Alpha Control...И нарисовать под него скин какой нужен...
|
![]() ![]() |
![]() |
Текстовая версия | 20.06.2025 23:06 |