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

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

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.01.2009, 20:16   #11
maladoy
delphi-ст!
Форумчанин
 
Аватар для maladoy
 
Регистрация: 02.01.2009
Сообщений: 825
По умолчанию

Прозрачность
--------------------------------------------------------------------------------



interface

uses
Windows, Messages, Forms;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
end;

const
WS_EX_LAYERED = $80000;

function SetLayeredWindowAttributes(hWindow : HWND; crKey : DWORD; bAlpha : Byte;
dwFlags : DWORD) : BOOL; stdcall; external user32 name 'SetLayeredWindowAttributes';

var
Form1: TForm1;

implementation
{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_LAYERED);
SetLayeredWindowAttributes(Handle, 0, Byte(196), 2);
end;

end.

...

const
WS_EX_LAYERED = $80000;

type
TSetLayeredWindowAttributes = function(hWnd : HWND; crKey : DWORD;
bAlpha : Byte; dwFlags : DWORD) : BOOL; stdcall;

...

procedure TForm1.FormCreate(Sender: TObject);
var
SetLayeredWindowAttributes : TSetLayeredWindowAttributes;
hUser32 : HINST;
begin
SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_LAYERED);

hUser32 := LoadLibrary('user32.dll');
if hUser32 <> 0 then
begin
try
SetLayeredWindowAttributes := GetProcAddress(hUser32, 'SetLayeredWindowAttributes');
if Assigned(@SetLayeredWindowAttribute s) then
SetLayeredWindowAttributes(Handle, 0, Byte(196), 2);
finally
FreeLibrary(hUser32);
end;
end;
end;






Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay
вступлю в команду разработчиков ПО на Delphi
maladoy вне форума Ответить с цитированием
Старый 08.01.2009, 00:06   #12
Хамяг
Форумчанин
 
Аватар для Хамяг
 
Регистрация: 22.08.2008
Сообщений: 105
По умолчанию

находил, пробовал. Такого же успеха можно достигнуть, использовав AlphaBliend
Хамяг вне форума Ответить с цитированием
Старый 08.01.2009, 09:27   #13
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Цитата:
Сообщение от Хамяг Посмотреть сообщение
находил, пробовал. Такого же успеха можно достигнуть, использовав AlphaBliend
А вы не пытались головой подумать ? Я же говорю уже обсуждалось, я тут разжевывал все, правда для bmp с маской. Но с png еще легче. + на моей странице можно посмотреть проект (в исходниках) Widget Library. Просто если бы вы хотели, а то ждете пока кто-нибудь за вас все сделает. В чем проблема, вы можете сказать? Решение вам было предоставлено.
BOBAH13 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка\Приём сообщения. Прозрачная форма. Zeraim Общие вопросы Delphi 6 26.12.2008 20:02
"Прозрачная" Программа zwook Общие вопросы Delphi 3 03.11.2008 10:14
форма blackstersl Общие вопросы Delphi 1 18.09.2008 15:23
форма blackstersl Мультимедиа в Delphi 1 23.08.2008 19:03
Форма Killbrum Помощь студентам 8 21.08.2008 18:48