Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Alpha Blend [D6, WinXP]


Demetrius2003 ©   (2003-10-19 13:00:00) 

Как поменять розрачность чужого окна???
И вообще как сделать полупрозрачное окно используя не используя TForm???


Rouse_   (2003-10-22 11:00:00) [1]

Вот тебе кусок кода из моего компонента

var
SetLayeredWindowAttributes: function(Hwnd: THandle; crKey: COLORREF;
bAlpha: Byte; dwFlags: DWORD): Boolean; stdcall;

procedure TFWChatInTips.SetAlphaBlendTransparent;
const
GWL_EXSTYLE = -20;
WS_EX_LAYERED = $00080000;
LWA_ALPHA = $00000002;
var
FLibHandle: THandle;
begin
FIsTransparent := False;
SetWindowLong(FHint.Handle, GWL_EXSTYLE,
GetWindowLong(FHint.Handle, GWL_EXSTYLE) or WS_EX_LAYERED);
FLibHandle := LoadLibrary("USER32.DLL");
if FLibHandle <= 32 then Exit;
@SetLayeredWindowAttributes:=
GetProcAddress(FLibHandle,"SetLayeredWindowAttributes");
if not Assigned(SetLayeredWindowAttributes) then
begin
FreeLibrary(FLibHandle);
Exit;
end;
if not FTransparent then
SetLayeredWindowAttributes(FHint.Handle, 0, 255, LWA_ALPHA)
else
SetLayeredWindowAttributes(FHint.Handle, 0, FAlphaBlend, LWA_ALPHA);
FIsTransparent := FTransparent;
FreeLibrary(FLibHandle);
end;


Короче разберешся
Вместо FHint.Handle - подставишь хэндл нужной тебе формы

Желаю успехов


Наверх

Титульная страница Поиск, карта сайта Написать письмо