Форум: "Начинающим";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];
ВнизСкины на дельфя Найти похожие ветки
← →
NE$MO © (2006-05-26 22:53) [0]Как поменять скины кнопок , форм? Ответьте, Please!=-Пишу Диплом
← →
Std © (2006-05-26 23:22) [1]м еще вопрос по теме, как заменить в проге верх окна? там де Caption окна и кнопочки минимизации и закрытия. что б не виндового цвета было а черного например
← →
Rial © (2006-05-26 23:47) [2]Зайди на
http://www.rmklever.com/delphitbx.html
Для формы пойдет и это:
function BitmapToRgn(Image: TBitmap): HRGN;
Var TmpRgn:HRGN;
W,H,X,Y:Integer;
ConsecutivePixels:Integer;
CurrentPixel:TColor;
CurrentColor:TColor;
begin
With Image do begin
W:=Width;
H:=Height;
end;
Result:=CreateRectRgn(0,0,W,H);
If (W=0)or(H=0) then Exit;
For Y:=0 to H-1 do begin
CurrentColor:=Image.Canvas.Pixels[0,Y];
ConsecutivePixels:=1;
For X:=0 to W-1 do begin
CurrentPixel:=Image.Canvas.Pixels[X,Y];
If (CurrentColor=CurrentPixel) then Inc(ConsecutivePixels)
else
begin // Входим в новую зону
If (CurrentColor=clWhite) then begin
TmpRgn:=CreateRectRgn(X-ConsecutivePixels,Y,X,Y+1);
CombineRgn(Result,Result,TmpRgn,RGN_DIFF);
DeleteObject(TmpRgn);
end;
CurrentColor:=CurrentPixel;
ConsecutivePixels:=1;
end;
end;
If (CurrentColor=clWhite)and(ConsecutivePixels>0) then begin
TmpRgn:=CreateRectRgn(W-ConsecutivePixels,Y,W,Y+1);
CombineRgn(Result,Result,TmpRgn,RGN_DIFF);
DeleteObject(TmpRgn);
end;
end;
end;
← →
Rial © (2006-05-26 23:49) [3]P.S.
Использовать примерно так:
SetWindowRgn(Self.Handle,BitmapToRgn(Image.Picture.Bitmap),True);
← →
Std © (2006-05-27 00:15) [4]Rial
не хочет оно так рисовать заголовок. рисует просто оно размером битмапа(картинка для заголовка была взята 25х10 и получилося кусок окна размеом 25х10)
← →
Rial © (2006-05-27 00:54) [5]
> Std © (27.05.06 00:15) [4]
А я и не про заголовок(Caption) говорил.
Читай внимательно:
>> Для формы пойдет и это:
Тебе придется копать в сторону API.
Уверен, что это тебе надо ?
Намного лучше в данном случае, ИМХО, будет ручная прорисовка на
форме типа BorderStyle
Или окна
ws_Visible or ws_PopUp
Вместо
ws_OverlappedWindow or ws_ClipChildren or ws_Clipsiblings.
Не знаю, что там у тебя.
← →
wsih © (2006-05-27 04:04) [6]
> еще вопрос по теме, как заменить в проге верх окна? там
> де Caption окна и кнопочки минимизации и закрытия. что б
> не виндового цвета было а черного например
можно так
Form1.BorderStyle:=bsNone;
img:=TImage.Create(Form1);
img.Parent:=Form1;
img.Height:=20;
img.Width:=form1.Width;
img.Top:=0;
img.Left:=0;
img.Canvas.Brush.Color:=clBlack;
img.Picture.Bitmap.Canvas.Rectangle(0,0,form1.Width,20);
img.Show;
и тд. в том же духе...
← →
Rial © (2006-05-27 15:50) [7]
> Form1.BorderStyle:=bsNone;
> img:=TImage.Create(Form1);
> img.Parent:=Form1;
> img.Height:=20;
> img.Width:=form1.Width;
> img.Top:=0;
> img.Left:=0;
> img.Canvas.Brush.Color:=clBlack;
> img.Picture.Bitmap.Canvas.Rectangle(0,0,form1.Width,20);
>
> img.Show;
Интересный подход :))
А если понадобится еще подрисовать что - нибудь в WinTray, то там тоже
TImage создать придется ?!
Понять не могу, как в DOS без Image обходились то ....
DC:=GetDC(Handle);
Try
FillRect(DC ,Rect ,Self.Brush.Handle);
Finally
ReleaseDC(Handel,DC);
← →
inri13666 © (2006-05-27 16:32) [8]Можно иначе скачать компаненты типа ВЦЛСКИН или ДинамикСкинФорм и заплатить им деньги а можно просто прислать мне запрос на них и я те вышлю исходники
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.013 c