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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.02.2014, 16:05   #1
FreeZon
Пользователь
 
Регистрация: 10.01.2014
Сообщений: 33
По умолчанию Как сделать прозрачную форму

Как сделать прозрачную форму, когда я выставляю все Transarent везде и Color формы ставлю clWhile да она становится прозрачной. но у меня там картинка PNG и на ней этот белый цвет как тень остаетсся

Как сделать полностью прозрачную форму
FreeZon вне форума Ответить с цитированием
Старый 12.02.2014, 16:09   #2
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Т.е. ты хочешь, чтобы форма была в виде картинки? Тогда вот delphiworld.narod.ru
FaTaL вне форума Ответить с цитированием
Старый 12.02.2014, 16:11   #3
FreeZon
Пользователь
 
Регистрация: 10.01.2014
Сообщений: 33
По умолчанию

Цитата:
Сообщение от FaTaL Посмотреть сообщение
Т.е. ты хочешь, чтобы форма была в виде картинки? Тогда вот delphiworld.narod.ru
Это на FormCreate ставить?

Код:
var
  regn, tmpRegn: integer; // регион окна и временный регион
  x, y: integer; // координаты пикселя
  nullClr: TColor; // «прозрачный цвет»
begin
  nullClr := image1.picture.Bitmap.Canvas.Pixels[0, 0];
  // Image1 это картинка по которой создается форма окна
  regn := CreateRectRgn(0, 0, image1.picture.Graphic.Width,
    image1.picture.Graphic.Height);
  for x := 1 to image1.picture.Graphic.Width do
    for y := 1 to image1.picture.Graphic.Height do
      if image1.picture.Bitmap.Canvas.Pixels[x - 1, y - 1] = nullClr then
      begin
        tmpRegn := CreateRectRgn(x - 1, y - 1, x, y);
        CombineRgn(regn, regn, tmpRegn, RGN_DIFF);
        DeleteObject(tmpRegn);
      end;
  SetWindowRgn(form1.handle, regn, true);
end;
FreeZon вне форума Ответить с цитированием
Старый 12.02.2014, 16:20   #4
FreeZon
Пользователь
 
Регистрация: 10.01.2014
Сообщений: 33
По умолчанию

Цитата:
Сообщение от FaTaL Посмотреть сообщение
Т.е. ты хочешь, чтобы форма была в виде картинки? Тогда вот delphiworld.narod.ru
все белое фон
FreeZon вне форума Ответить с цитированием
Старый 12.02.2014, 17:50   #5
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

UpdateLayeredWindow, не?
ZuBy вне форума Ответить с цитированием
Старый 12.02.2014, 17:54   #6
Malriser
xor esp, esp
Форумчанин
 
Регистрация: 11.02.2014
Сообщений: 135
По умолчанию

в OnCreate кинь

Код:
AlphaBlend:=true;
AlphaBlendValue:=220;
Где 220 - значение прозрачности. Форму лучше делай черной. Т.к белый цвет и черный при прозрачности почти одинаковые, с белым только блики.

У меня на картинку не влияет, все супер получается.

P.S. Картинка тоже прозрачная
Malriser вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как сделать форму основной в С# Татевик C# (си шарп) 4 07.05.2013 07:53
Хочу сделать форму для ввода паролей! Для этого текст должен быть зашифрован в (*****) ! Как сделать vitaaly Visual C++ 2 12.02.2011 12:29
Как сделать форму Rabbiter Microsoft Office Excel 7 11.11.2009 10:19
Не получается сделать прозрачную текстуру devi409 Мультимедиа в Delphi 5 25.03.2009 05:47
Как сделать форму? HAMMAN Помощь студентам 1 29.01.2008 22:11