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




Вниз

Скины 


Rammst   (2002-03-23 06:42) [0]

Всем привет! Кто то может подсказать технологию создания скинов для программы или ссылку на ресурс.



SPeller   (2002-03-23 08:49) [1]

Вот пример из моей проги. Наглядность улучшать не стал.

var
hBmp,hDC{растр и контекст готового скина},fhDC{контекст формы},hWnd{дескриптор формы},srcDC{контекст ImgSkin}:longint;

implementation

procedure TfrmOpen.FormCreate(Sender: TObject);
var imgdc,x,y:longint;i:integer;p:tutsettings;
begin

hwnd:=Handle;
fhdc:=getdc(hwnd);

hbmp:=createcompatiblebitmap(fhdc,510,460);
hdc:=createcompatibledc(fhdc);
selectobject(hdc,hbmp);

imgdc:=imgskin.Canvas.Handle;

bitblt(hdc,0,0,41,35,imgdc,0,0,srccopy);
for i:=1 to 8 do begin
x:=i*41;
y:=0;
bitblt(hdc,x,y,41,35,imgdc,42,0,srccopy);
end;
bitblt(hdc,369,0,141,35,imgdc,84,0,srccopy);
for i:=1 to 13 do begin
x:=0;
y:=i*30+5;
bitblt(hdc,x,y,41,30,imgdc,0,36,srccopy);
end;
bitblt(hdc,0,425,41,35,imgdc,0,67,srccopy);
for i:=1 to 8 do begin
x:=i*41;
y:=425;
bitblt(hdc,x,y,41,35,imgdc,42,67,srccopy);
end;
{for i:=1 to 13 do begin
x:=369;
y:=i*30+5;
bitblt(hdc,x,y,100,30,imgdc,84,36,srccopy);
end;}
for i:=1 to 13 do begin
x:=369;
y:=i*30+5;
bitblt(hdc,x,y,141,30,imgdc,84,36,srccopy);
end;
bitblt(hdc,369,425,141,35,imgdc,84,67,srccopy);

srcdc:=imgdc;// Это не помню для чего
selectobject(srcdc,imgskin.Picture.Bitmap.Handle);// и это тоже
end;

Принцип таков, что в imgSkin содержится растровый (не jpeg) рисунок. Ты берёшь от туда нужный кусок и разможаешь его в контекст, из которого будешь рисовать на форме. Таким образом рисуешь весь рисунок и затем при перерисовке формы рисуешь на ней своё изображение.



Rammst   (2002-03-23 08:59) [2]

Спасибо SPeller! Попробую разобраться.




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




Наверх





Память: 0.72 MB
Время: 0.017 c
1-9516            Sound                 2002-03-23 01:46  2002.04.04  
КТО НИБУДЬ!!! ВОПРОС!!!


3-9390            Beer                  2002-03-12 14:41  2002.04.04  
Дерево из записей


1-9482            Ghost12               2002-03-25 14:22  2002.04.04  
Данные из формы HTML


6-9592            OGR                   2002-01-23 11:09  2002.04.04  
Как проконтролировать полную загрузку страницы в TWebBrowser?


3-9405            Shaman_Naydak         2002-03-12 22:27  2002.04.04  
Глюкавый MSSQL 2000 + проблема с ARITHABORT