Главная страница
    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.56 MB
Время: 0.018 c
3-13569
jim
2002-07-16 12:55
2002.08.05
Обновление через ClientDataSet нескольких таблиц


1-13674
Sub
2002-07-23 16:48
2002.08.05
Общие вопросы


14-13782
dimanew
2002-07-10 05:06
2002.08.05
Подскажите какой есть хороший HEX редактор?


6-13738
Aliev Adil
2002-05-21 14:05
2002.08.05
Perl


1-13622
c0pYc@t
2002-07-25 09:37
2002.08.05
как поменять иконку программы в run time





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский