Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.15;
Скачать: 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 вся ветка

Текущий архив: 2002.07.15;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.024 c
7-47836
Novak
2002-04-23 17:22
2002.07.15
КАК?


3-47197
GrEG
2002-06-11 09:30
2002.07.15
Ограничение на длину индексируемого поля DBASE


1-47379
stepby
2002-07-01 16:52
2002.07.15
текст в шестнадцатиричную систему как перевести?


3-47079
Arkady
2002-06-21 09:01
2002.07.15
DBGrid


4-47887
KiberArt
2002-05-14 22:27
2002.07.15
SetWindowHookEx для всех потоков в системе.