Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2010, 20:05   #1
Марк Охман
Форумчанин
 
Аватар для Марк Охман
 
Регистрация: 05.02.2010
Сообщений: 153
По умолчанию Как размыть задний фон дочерней формы

Всем привет!!! Такой вопрос. Главная форма сама открывается на весь экран. С нее вызывается дочерняя, она меньше по размеру. Так вот. Можно ли сделать так чтобы дочерняя форма была видна ясно, а все что на заднем плане (т.е. главная) было размыто, чтоб не отвлекало. Помогите пожалуйста))) Заранее огромное спасибо!
Я начинающий web-программист) Не судите строго, плиз! Буду очень стараться!
Марк Охман вне форума Ответить с цитированием
Старый 01.12.2010, 20:13   #2
NoSilence
Пользователь
 
Регистрация: 01.12.2010
Сообщений: 15
По умолчанию

а) Требуется размытие задней формы при отображении дочерней?

б) Требуется размытие (блокирование) рабочего стола? Т.е. главная форма прозрачная.
NoSilence вне форума Ответить с цитированием
Старый 01.12.2010, 20:23   #3
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

а) заняться изучением постов форумчанина BOBAH13 или в нашем журнале почитать его же статью - он как раз про слои говорит.

б) использовать компоненты BusinessSkinForm в них есть эффект размытия достигаемый установкой свойства ClientInActiveEffectType в значение bsieBlur
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 01.12.2010, 20:33   #4
Марк Охман
Форумчанин
 
Аватар для Марк Охман
 
Регистрация: 05.02.2010
Сообщений: 153
По умолчанию

Спасибо, скачал, ковыряюсь....)))
А можно еще вопрос в тепу, раз уж заговорили про BusinessSkinForm, как там сделать чтобы кнопки бросали отражение на фон? Ну как будто они стоят на полированной поверхности?
Я начинающий web-программист) Не судите строго, плиз! Буду очень стараться!
Марк Охман вне форума Ответить с цитированием
Старый 01.12.2010, 20:49   #5
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

На сколько мне известно там такого эффекта нет.
Это из AlphaSkin`ов - свойство Reflected у SpeedButton`ов.
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 01.12.2010, 21:23   #6
Марк Охман
Форумчанин
 
Аватар для Марк Охман
 
Регистрация: 05.02.2010
Сообщений: 153
По умолчанию

Спасибо))))
а вот относительно вашего первого ответа, какой компонент нужно разместить на форме чтобы указать это свойство? (размытие)

Кто-нибудь, помогите!!! Пожалуйста)))) Как в BusinessSkinForms сделать размытие? Пишу я на Дельфях.
Я начинающий web-программист) Не судите строго, плиз! Буду очень стараться!

Последний раз редактировалось Марк Охман; 02.12.2010 в 13:40.
Марк Охман вне форума Ответить с цитированием
Старый 03.12.2010, 17:34   #7
Марк Охман
Форумчанин
 
Аватар для Марк Охман
 
Регистрация: 05.02.2010
Сообщений: 153
По умолчанию

Так и не разобрался. Кто знает, подскажите плиз, как в Дельфях, с помощью BusinessSkinForms размыть задний план?
Я начинающий web-программист) Не судите строго, плиз! Буду очень стараться!
Марк Охман вне форума Ответить с цитированием
Старый 03.12.2010, 19:48   #8
oxJass
Пользователь
 
Регистрация: 03.12.2010
Сообщений: 17
По умолчанию

Цитата:
Сообщение от Марк Охман Посмотреть сообщение
Так и не разобрался. Кто знает, подскажите плиз, как в Дельфях, с помощью BusinessSkinForms размыть задний план?
а может так подойдёт:
Код:
 var
 F:TForm;

 *buttonclick*

   begin

F := TForm.Create(Application);
   F.BorderStyle := bsNone;
   F.Ctl3D := False;
   F.BoundsRect := Screen.WorkAreaRect;
   F.Color := clBlack;
   F.AlphaBlend := True;
    F.AlphaBlendValue :=150;
   FormStyle := fsStayOnTop;
   F.Show;
end;
   //И на закрытие формы FormCloseQuery: 

 F.Free;
   FormStyle := fsNormal;

Последний раз редактировалось oxJass; 03.12.2010 в 22:52.
oxJass вне форума Ответить с цитированием
Старый 03.12.2010, 20:21   #9
Марк Охман
Форумчанин
 
Аватар для Марк Охман
 
Регистрация: 05.02.2010
Сообщений: 153
По умолчанию

а что за dark? Дельф ругается что нет такой переменной.
Я начинающий web-программист) Не судите строго, плиз! Буду очень стараться!
Марк Охман вне форума Ответить с цитированием
Старый 03.12.2010, 21:22   #10
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Выкиньте эту строку.
Цитата:
как сделать, чтобы кнопки бросали отражение на фон?
Элементарно. Я уже приводил пример :
Код:
//Эффект создается за счет отрисовки теней:

procedure ShadeIt(f: TForm; c: TControl; Width: Integer; Color: TColor);
var
rect: TRect;
old: TColor;
begin
if (c.Visible) then
begin
rect := c.BoundsRect; 
rect.Left := rect.Left + Width;
rect.Top := rect.Top + Width; 
rect.Right := rect.Right + Width;
rect.Bottom := rect.Bottom + Width;
old := f.Canvas.Brush.Color;
f.Canvas.Brush.Color := Color;
f.Canvas.fillrect(rect);
f.Canvas.Brush.Color := old;
end;
end;

procedure TForm1.FormPaint(Sender: TObject);
var
i: Integer;
begin
for i := 0 to Self.ControlCount - 1 do
ShadeIt(Self, Self.Controls[i], 5, clBlack);
end;
Этот код даст тени всем контролам. Немного умственных усилий, и вы сможете переделать его, чтобы оттенялись только кнопки...

Последний раз редактировалось mihali4; 03.12.2010 в 21:31.
mihali4 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
css задний фон не отображаеться nikita33321 HTML и CSS 4 28.09.2010 22:14
Обновление дочерней формы Nulex Microsoft Office Access 1 05.09.2010 21:51
ЗАдний фон Asp Cpluser ASP.NET 2 01.09.2010 09:37
Как убрать задний фон у image BuT@JL Мультимедиа в Delphi 10 18.08.2009 11:35
ЗАДНИЙ ФОН ПАПКИ В XP BanDit Свободное общение 3 16.06.2007 21:37