Вниз
Скачать: 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.009 c
14-47733
-=CrazyFish=-
2002-06-11 15:17
2002.07.15
Оззи Осборн


7-47853
XEL
2002-04-24 23:11
2002.07.15
ИЗМЕНЯТЬ СКОРОСТЬ CD-ROM ПРОГРАМНО?


1-47313
SDv-503
2002-07-01 00:17
2002.07.15
Как программно нажать на .... (+)


3-47214
Miss
2002-06-19 16:53
2002.07.15
Перенос данных в другую таблицу


3-47081
федя
2002-06-21 04:34
2002.07.15
Простой вопрос




   Наверх