Вниз
Скачать: CL | DM;

Нужно сделать рамку с ПЛАВНО ! меняющимся цветом   Найти похожие ветки 

 
Dmitry V. Averuanov ©   (2002-07-01 12:52) [0]

Нужно сделать рамку с ПЛАВНО ! меняющимся цветом
Лучше всего - от черного к ярко-красному. При этом важно, чтобы сие чудо не мерцало !


 
Игорь Шевченко ©   (2002-07-01 13:08) [1]

изучение исходников TRxGradientCaption поможет...


> Лучше всего - от черного к ярко-красному


Программу учета грешников для слуг дьявола пишем ? :-)))


 
Opuhshii   (2002-07-01 13:20) [2]

и опять и снова,. Wm_paint
Rgb(байт_красного,байт_зеленого,байт_синего):Tcolor;

BOOL BitBlt(
HDC hdcDest, // handle to destination device context
int nXDest, // x-destination rectangle"s upper-left corner
int nYDest, // y-destination rectangle"s upper-left corner
int nWidth, // width of destination rectangle
int nHeight, // height of destination rectangle
HDC hdcSrc, // handle to source device context
int nXSrc, // x-source rectangle"s upper-left corner
int nYSrc, // y-source rectangle"s upper-left corner
DWORD dwRop // raster operation code
);


 
Dmitry V. Averuanov ©   (2002-07-01 14:29) [3]

- Маленький момент - собственно было-бы неплохо иметь ОБЪЕКТ в форме рамки с ПЛАВНО ! меняющимся цветом


 
WhiteRat ©   (2002-07-03 18:28) [4]

Например:

procedure DrawVerticalGradient(ACanvas:TCanvas; Start,Finish:TColor; Rect:TRect);
var
i,j: Word;
rgb: array [0..2] of Real;
dif: array [0..2] of Integer;
begin
for i := 0 to 2 do
begin
rgb[i] := GetByte(Start,i);
dif[i] := GetByte(Finish,i)-Trunc(rgb[i]);
end;
for i := Rect.Top to Rect.Bottom do
begin
ACanvas.Pen.Color := 0;
for j := 0 to 2 do
ACanvas.Pen.Color := ACanvas.Pen.Color or (Round(rgb[j]) shl (8*j));
ACanvas.MoveTo(Rect.Left,i);
ACanvas.LineTo(Rect.Right,i);
for j := 0 to 2 do
rgb[j] := rgb[j]+dif[j]/(Rect.Bottom-Rect.Top);
end;
end;


Применять в любому Canvas. Для горизонтальной заливки, имхо, развернуть координаты не составит труда.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.008 c
3-47101
DKalinin
2002-06-21 13:49
2002.07.15
Как побороть глюки с форматом передаваемой даты на сервер


3-47120
Макс
2002-06-21 17:02
2002.07.15
Добавление записей в связанные таблицы на ADO


6-47653
Lizard
2002-05-02 22:12
2002.07.15
Как обойти ошибку ?


1-47245
Kolya
2002-06-28 04:11
2002.07.15
Как узнать файлы в папке? (Дубль 367)


1-47460
drt
2002-07-03 15:44
2002.07.15
Matrix




   Наверх