Форум: "Потрепаться";
Текущий архив: 2003.02.13;
Скачать: [xml.tar.bz2];
ВнизМастера, научите как создать ресурс. Найти похожие ветки
← →
Sentinel (2003-01-27 16:36) [0]Имеется ввиду например, меню, шаблон диалогового окна, и т.д. А то вроде чиешь хелп, примеры использования есть, однако как создать, не въеду никак.
Заранее спасибо.
← →
Sentinel (2003-01-27 16:41) [1]Или где почитать.
← →
DiamondShark (2003-01-27 17:26) [2]В нотепаде набиваешь текст, сохраняешь в *.rc, и директивой $R прицепляешь.
← →
Ketmar (2003-01-27 17:56) [3]>DiamondShark © (27.01.03 17:26)
фиг там. а компилять?
Satanas Nobiscum! 27-Jan-XXXVIII A.S.
← →
copyr25 (2003-01-27 18:06) [4]Создаете текстовый файл, имя.rc, потом
brcc32 имя.rc в командной строке набираете, Enter, разумеется.
Будет создан файл имя.res.
Его после implementation
{$R *.DFM}
{$имя.res}
упоминаете.
Как создавать .rc можно найти в любых FAQ, хоть здесь, хоть в Королевстве Delphi.
Что Вам в ресурс запихнуть нужно? Голос, иконки, картинки?
Как вытянуть ресурс тоже есть почти всюду.
Читайте FAQ.
← →
copyr25 (2003-01-27 18:12) [5]{$R имя.res}
разумеется. Очепятка.
← →
paranoid (2003-01-27 18:12) [6]Ух, ответили. Спасибо. А я смотрю в API - пусто.
По поводу. Есть такая процедурка - DialogBoxParam. Чтоб её поюзать, надо шаблон диалога иметь. Иконки, картинки - не по теме.
А вот например:
HMENU LoadMenuIndirect(
CONST MENUTEMPLATE *lpMenuTemplate // address of menu template );
или:
int DialogBoxParam(
HINSTANCE hInstance, // handle to application instance
LPCTSTR lpTemplateName, // identifies dialog box template HWND hWndParent, // handle to owner window
DLGPROC lpDialogFunc, // pointer to dialog box procedure
LPARAM dwInitParam // initialization value
);
На Сях же пользуются люди.
← →
Sentinel (2003-01-27 18:13) [7]Из других программ что-ли дергать? Ну...
← →
copyr25 (2003-01-27 18:36) [8]Если jpg-картинки:
Это содержимое файла имя.res, например:
M1 JPEG 1.JPG
M2 JPEG 2.JPG
M3 JPEG 3.JPG
Это процедура вызова картинки на Image:
procedure LoadJPEGFromRes(TheJPEG : string; ThePicture : TPicture);
var
ResHandle : THandle;
MemHandle : THandle;
MemStream : TMemoryStream;
ResPtr : PByte;
ResSize : Longint;
JPEGImage : TJPEGImage;
begin
ResHandle := FindResource(hInstance, PChar(TheJPEG), "JPEG");
MemHandle := LoadResource(hInstance, ResHandle);
ResPtr := LockResource(MemHandle);
MemStream := TMemoryStream.Create;
JPEGImage := TJPEGImage.Create;
ResSize := SizeOfResource(hInstance, ResHandle);
MemStream.SetSize(ResSize);
MemStream.Write(ResPtr^, ResSize);
FreeResource(MemHandle);
MemStream.Seek(0, 0);
JPEGImage.LoadFromStream(MemStream);
ThePicture.Assign(JPEGImage);
JPEGImage.Free;
MemStream.Free;
end;
LoadJPEGFromRes("M1",(Ima as TImage).Picture);
Это имя.rc для звуков:
S1 WAV 1.WAV
S2 WAV 2.WAV
S3 WAV 3.WAV
S4 WAV 4.WAV
Это процедура проигрывания звуков:
uses mmsystem
procedure play(name : pchar);
var
h: THandle;
p: pointer;
begin
h := FindResource(hInstance,name,"WAV");
h := LoadResource(hInstance, h);
p := LockResource(h);
sndPlaySound(p,SND_MEMORY or SND_SYNC);
UnLockResource(h);
FreeResource(h);
end;
Play("S3");
Это имя.rc для иконок:
I0 ICON 0.ico
I1 ICON 1.ico
I2 ICON 2.ico
I3 ICON 3.ico
Это процедура вызова иконки:
var ic: Array[0..3] of TIcon;
ic[0]:=TIcon.Create;
ic[0].Handle := LoadIcon(HInstance,"I0");
etc...
← →
copyr25 (2003-01-27 18:47) [9]PS: Вместо (Ima as TImage) в первом примере
поставьте Image1 - это я по дурости привел
строку с использованием многих компонентов:))
← →
Sentinel (2003-01-27 20:49) [10]
> copyr25 © (27.01.03 18:47)
Спасибо, ето мы умем.
← →
Sentinel (2003-01-27 21:08) [11]Однако, если взять да и открыть программкой типа:
$(DELPHI)\Demos\ResXplor\resxplor.dpr
Любой (ну, почти) exe, dll, то можно увидеть много всего, не только имиджи, вавы и ави. Слышал я откуда - то из-за океана, что, можно тот же диалог, меню, кнопочки и все такоэ получить загрузкой из ресурса, создав и присвоив всему этому хэндлер. Пример, как создать ресурс (т.ж.с. кнопочки) в памяти есть (см. Ф-1 , Creating a Template in Memory), таким образом, можно засунуть этот ресурс и в исполняемый модуль, но межет есть способ попроще, типа какой-никакой эдитор, вроде борландовской (IEd)? Но для кнопочек. Или ещё что-нибудь. Или самому писать. Или самому.
← →
Ketmar (2003-01-27 21:14) [12]Resource Workshop
Satanas Nobiscum! 27-Jan-XXXVIII A.S.
← →
Sentinel (2003-01-27 21:52) [13]
> Ketmar © (27.01.03 21:14)
Два вопроса, если не трудно.
Resource Workshop - кто такой? Где ходит?
> Nobiscum! - что значит, давно хотел спросить.
← →
DiamondShark (2003-01-27 22:03) [14]
> Ketmar © (27.01.03 17:56)
> >DiamondShark © (27.01.03 17:26)
> фиг там. а компилять?
{$R "mycoolres.res" "mycoolres.rc"}
и никаких иксс32 (хотя тоже можно)
← →
Sentinel (2003-01-27 22:23) [15]Ketmar!
Thanx.
Let the light dwell in your heart!
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2003.02.13;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.011 c