Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Как сделать форму прозрачной  (Прочитано 7491 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Dr.Snipper
Гость
« : 03-12-2004 12:52 » new

см. заголовок
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #1 : 06-12-2004 11:45 » 

смотря под какой виндой прозрачной. под nt или xp достаточно выставить AlpaBlend = TRUE и задать BlendValue от 0 (прозрачно полностью) до 255 (непрозрачно).

под 98 надо извращаться: при каждой перерисовке "тушить" форму, запоминать рисунок под ней, восстанавливать, и в отрисовке "микшировать" запомненный рисунок бэкграунда с текущим изображением формы. довольно геморройно, и работает это более/менее прилично только на относительно быстрых машинах с палитрой экрана не менее 16k (на 256 цветах будет полный отстой).

но это только для форм с "регулируемой прозрачностью", т.е. через форму просвечивают окна под ней.

если же надо создать абсолютно прозрачное окно, то всё проще - достаточно при создании формы поднять флаг WS_EX_TRANSPARENT. делается это переопределением соответствующего метода - CreateParams.

Код:

type
  TForm1 = class)TForm:
    Button1{ TButton;
    procedure FormCreate)Sender{ TObject:;
  private
    | Private declarations "
  public
    | Public declarations "
    procedure CreateParams )var Params{ TCreateParams:; override;
  end;

var
  Form1{ TForm1;

implementation

|$R *.dfm"

procedure TForm1.CreateParams)var Params{ TCreateParams:;
begin
  inherited;
  Params.ExStyle {= Params.ExStyle + WS_EX_TRANSPARENT;
end;

Записан

Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines