Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.08.05;
Скачать: [xml.tar.bz2];

Вниз

Сделать на всей форме (в т.ч. и ее контролах) прозрачность. w9x   Найти похожие ветки 

 
xrip   (2002-05-23 22:48) [0]

Сделать например как в винампе теже скины, т.е. например розовый цвет на всей форме сделать прозрачным. пробовал делать маленькие треугольнички(СreatePolygonRgn), но сами понимаете что это гемор и тормозуха... Подскажите более грамотный алгоритм пли.


 
ION T   (2002-05-23 23:32) [1]

www.utilmind.com--->Freeware--->TGlassy


 
xrip   (2002-05-24 16:16) [2]

Еслибы мне нужно было готовое решение я бы первым делом полез искать модуль. Мнебы кто объяснил как это грамотно реализовать _САМОМУ_!


 
Raptor   (2002-05-25 17:25) [3]

Вот зайди туда _САМ_ и почитай как это делается.
А если надо все разжевать, то тебе сюда http://delphigfx.mastak.ru/2d/002/2d_2.htm
В конце статьи есть ссылка на примеры с подробными комментариями.


 
easy   (2002-05-27 12:51) [4]

//перевод с бейсика

procedure tform1.lGetRegion(pic:TImage{имидж с картинкой}; lBackColor:TColor{цвет, который станет прозрачным});
var
lRgn,lSkinRgn,lStart,lX,lY,lHeight,lWidth: Longword;

begin
lSkinRgn := CreateRectRgn(0,0,0,0);
lHeight:=pic.Height;
lWidth:=pic.Width;
For lX := 0 To (lHeight - 1) do
begin
lY := 0;
While lY < lWidth do
begin
While (lY < lWidth) And (GetPixel(pic.Canvas.Handle , lY, lX) = lBackColor) do
lY := lY + 1;
If lY < lWidth Then
begin
lStart := lY;
While (lY < lWidth) And (GetPixel(pic.Canvas.Handle, lY, lX) <> lBackColor) do
lY := lY + 1;
If lY > lWidth Then lY := lWidth;
lRgn := CreateRectRgn(lStart, lX, lY, lX + 1);
CombineRgn (lSkinRgn, lSkinRgn, lRgn, RGN_OR);
DeleteObject (lRgn);
end;
end;
end;
SetWindowRgn (form1.Handle, lSkinRgn, True);
end;


procedure TForm1.FormShow(Sender: TObject);
begin
lgetregion(image1,form1.TransparentColorValue);
end;



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.08.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.004 c
3-13530
Jungle
2002-07-12 11:28
2002.08.05
Поиск в базе, чувствительный к регистру


3-13552
vich
2002-07-11 01:28
2002.08.05
Помогите новичку


14-13810
AL2002
2002-07-09 16:49
2002.08.05
У меня есть пара программ.


1-13721
Lion
2002-07-24 00:12
2002.08.05
StringGrid


14-13822
JohnnyJ
2002-07-09 23:37
2002.08.05
Утомленный солнцем





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский