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

Вниз

Рисование на рабочем столе полупрозрачных объектов   Найти похожие ветки 

 
dmitry_12_08_74   (2008-08-26 13:40) [0]

Как можно рисовать на рабочем столе объекты типа прямоугольника, рамки с настраиваемой степенью прозрачности


 
{RASkov} ©   (2008-08-26 13:44) [1]

> [0] dmitry_12_08_74   (26.08.08 13:40)

Захват контекста экрана DC:=GetDC(0);
Собственно рисуем на DC
Освобождаем DC - ReleaseDC(0, DC);

Зачем это все нужно-то? :)


 
{RASkov} ©   (2008-08-26 13:44) [2]

DC: HDC;


 
Vlad Oshin ©   (2008-08-26 13:47) [3]

procedure TForm1.FormCreate(Sender: TObject);
const
 n = 7;
var
 nn : integer;
 ResultReg, Reg : HRGN;
 P : array[0..n-1] of TPoint;
begin
 //Put Ellipse
 //инициализация ResultReg
 ResultReg := CreateEllipticRgn(71,84,91,104);
 //Put polygon
 nn := 4;
 P[0] := Point(81,84);
 P[1] := Point(81,104);
 P[2] := Point(425,104);
 P[3] := Point(425,84);
 Reg := CreatePolygonRgn(P, nn, ALTERNATE);
 CombineRgn(ResultReg,ResultReg,Reg,RGN_OR);
 //Put Ellipse
 Reg := CreateEllipticRgn(415,84,435,104);
 CombineRgn(ResultReg,ResultReg,Reg,RGN_OR);
 //Put Ellipse
 Reg := CreateEllipticRgn(415,84,435,104);
 CombineRgn(ResultReg,ResultReg,Reg,RGN_OR);
 //Put polygon
 nn := 4;
 P[0] := Point(415,94);
 P[1] := Point(415,248);
 P[2] := Point(435,248);
 P[3] := Point(435,94);
 Reg := CreatePolygonRgn(P, nn, ALTERNATE);
 CombineRgn(ResultReg,ResultReg,Reg,RGN_OR);
 //Put Ellipse
 Reg := CreateEllipticRgn(415,238,435,258);
 CombineRgn(ResultReg,ResultReg,Reg,RGN_OR);
 //Put Ellipse
 Reg := CreateEllipticRgn(415,238,435,258);
 CombineRgn(ResultReg,ResultReg,Reg,RGN_OR);
 //Put polygon
 nn := 4;
 P[0] := Point(425,238);
 P[1] := Point(425,258);
 P[2] := Point(78,258);
 P[3] := Point(78,238);
 Reg := CreatePolygonRgn(P, nn, ALTERNATE);
 CombineRgn(ResultReg,ResultReg,Reg,RGN_OR);
 //Put Ellipse
 Reg := CreateEllipticRgn(68,238,88,258);
 CombineRgn(ResultReg,ResultReg,Reg,RGN_OR);
 //Put Ellipse
 Reg := CreateEllipticRgn(68,238,88,258);
 CombineRgn(ResultReg,ResultReg,Reg,RGN_OR);
 //Put polygon
 nn := 4;
 P[0] := Point(88,248);
 P[1] := Point(89,94);
 P[2] := Point(69,94);
 P[3] := Point(68,248);
 Reg := CreatePolygonRgn(P, nn, ALTERNATE);
 CombineRgn(ResultReg,ResultReg,Reg,RGN_OR);
 //Put Ellipse
 Reg := CreateEllipticRgn(69,84,89,104);
 CombineRgn(ResultReg,ResultReg,Reg,RGN_OR);
 SetWindowRgn(Handle, ResultReg, False);
 AlphaBlend:=(1>0);
 AlphaBlendValue:=150;
end;


 
dmitry_12_08_74   (2008-08-26 13:55) [4]

Спасибо, можете немного словами пояснить код? У меня в результате выполнения получается обрезанная справа полупрозрачная рамка


 
Vlad Oshin ©   (2008-08-26 13:59) [5]

делаем прозрачную форму и из нее выпиливаем регионы
программа-генератор кода для выпиливаем регионы -
LogoMaker.exe ( www.ya.ru )



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

Форум: "Основная";
Текущий архив: 2009.10.18;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.006 c
1-1219767772
Dr.Andrew
2008-08-26 20:22
2009.10.18
При переключении между чекбоксами - ошибка Stack overflow.


15-1250281803
Юрий
2009-08-15 00:30
2009.10.18
С днем рождения ! 15 августа 2009 суббота


11-1206101255
exero
2008-03-21 15:07
2009.10.18
Печать изображений


2-1250321330
Киря
2009-08-15 11:28
2009.10.18
Кто может напомнить...


2-1250492579
studenttgata
2009-08-17 11:02
2009.10.18
Определение градиента.





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