Formaty plik zasobów Win32

W tej części opisano format pliku binarnego zasobów , który tworzy kompilator zasobów opartych na zawartości pliku definicji zasobów. Plik ten ma zwykle.RES rozszerzenia. Konsolidator formatowane.RES pliku do pliku obiektu zasobów, a następnie łącza do pliku wykonywalnego aplikacji z systemu Win32.

Plik binarny zasobów składa się z liczby wpisów złączonej zasobów. Każdy wpis składa się z nagłówka zasobów i dane dla tego zasobu. Nagłówek zasobu jest DWORD-wyrównane w pliku i składa się z następujących:

Struktura RESOURCEHEADER opisuje format ten nagłówek. Dane dla zasobu następujący nagłówek zasobów i specyficzną dla każdego typu zasobu. Niektóre zasoby również zaangażować struktury nagłówka grupy specyficzne dla zasobu informacji o grupie zasobów.

Tabela akceleratora jest jeden wpis zasobów w pliku zasobów. Nie ma nagłówka grupy. ACCELTABLEENTRY struktury opisano każdy wpis w tabeli akceleratora. Zezwala się na wielu tabelach akcelerator.

Okno dialogowe jest również jeden wpis zasobów w pliku zasobów. Składa się z jednego DLGTEMPLATE dialogowe pole nagłówka struktura plus jeden DLGITEMTEMPLATE struktury dla każdego formantu w oknie dialogowym. DLGTEMPLATEEX i DLGITEMTEMPLATEEX struktur opisuje format rozszerzonego okna dialogowego pole zasobów.

Czcionki są przechowywane w pliku zasobów jako grupa zasobów. Poszczególnych czcionek tworzą grupę czcionki. A czcionkiZestawienie zasobów definicji instrukcja w.RC plik definiuje każdej czcionki. Każde indywidualne czcionki w zasobie składa się z całą zawartość pokrewnych.Plik FNT. Struktura FONTGROUPHDR następuje wszystkie składniki poszczególnych czcionek w.RES pliku.

Czcionka zasobów nie są dodawane do zasobów określonej aplikacji. Zamiast tego, zwykle są dodawane do plików wykonywalnych, które mają.Rozszerzenie FON. Pliki te są zazwyczaj tylko do zasobów bibliotek dołączanych dynamicznie (DLL) zamiast aplikacji.

System obsługuje każdej ikony i kursor jako pojedynczy plik. Jednakże są one przechowywane w.RES plików i plików wykonywalnych jako grupa ikonę zasobów lub grupy zasobów kursora. Formaty plików zasobów ikony i kursora są podobne. W.RES pliku nagłówka grupy zasobów następuje wszystkich poszczególnych składników grupy ikonę lub kursora.

Format każdego składnika ikonę przypominającym format.ICO pliku. Każdy obraz ikony są przechowywane w BITMAPINFO struktury następuje kolor device-independent bitmap (DIB) bity maski XOR ikony. Monochromatyczny bity DIB ikony maski i wykonaj bitów DIB kolorów.

Format każdego składnika kursor przypomina format.Waluta pliku. Każdy obraz kursor znajduje się w strukturze BITMAPINFO , następnie bity bitmap monochromatycznych niezależnych od urządzenia (DIB) kursora XOR maska, a następnie monochromatycznych bity DIB kursora i maski. Należy zauważyć, że ma różnicy w bitmapy dwa zasoby: w przeciwieństwie do ikony, kursor XOR maski nie mają kolor DIB bitów. Chociaż bitmapy maski kursora są czarno-białych i nie mają DIB nagłówki lub tablice kolorów, bity są nadal w formacie DIB w odniesieniu do wyrównanie i kierunek. Innej znaczącej różnicy między kursorów i ikon jest że kursory mają punkt aktywny i ikony nie.

Nagłówek grupy zasobów, ikony i kursor składa się z NEWHEADER struktury plus jeden lub więcej struktury RESDIR . Ma jednej struktury RESDIR dla każdej ikony lub kursora. Nagłówek grupy zawiera informacje, które aplikacji z systemu Win32 należy wybrać poprawną ikonę lub kursora do wyświetlania. Nagłówek grupy i danych, który powtarza dla każdej ikony lub kursor znajduje się w grupie mają ustaloną długość. Umożliwia to stosowanie losowo dostęp do informacji.

Zasób menu składa się z MENUHEADER struktury następuje jedno lub więcej NORMALMENUITEM lub POPUPMENUITEM struktur, jeden dla każdego elementu menu w menu szablon. MENUEX_TEMPLATE_HEADER i MENUEX_TEMPLATE_ITEM struktur opisywać formatu zasoby rozszerzonych menu.

Tabela wiadomości jest zasób, który zawiera tekst sformatowany do wyświetlania komunikatu o błędzie lub w oknie komunikatu. Główne struktury w zasobach tabeli komunikatów jest MESSAGE_RESOURCE_DATA struktury.

Główne struktury w zasobu wersji jest VS_FIXEDFILEINFO struktury. Należą dodatkowe struktury VarFileInfo strukturze przechowywania danych informacji język, i StringFileInfo ciąg zdefiniowane przez użytkownika informacji. Wszystkie ciągi w zasobu wersji są w formacie Unicode dla aplikacji opartych na Win32. Każdy blok danych jest wyrównany na granicy DWORD.

Listę grupy struktur, które opisują format zasobów na ten temat można znaleźć w Strukturach zasobów.

Index