Windows Programmierung: Ressourcen

Willemers Informatik-Ecke

Ressourcen werden heutzutage fast nur noch mit grafischen Editoren bearbeitet. Sie sind aber im Grunde ASCII-Quelltexte, die mit jedem einfachen Editor nachbearbeitet werden können. Bedauerlich ist lediglich, dass wenn einmal ein Fehler in die Ressource Quelldatei gekommen ist, der Ressouce-Compiler meist keine grosse Hilfe darstellt. Insofern sollte man Änderungen von Hand sehr vorsichtig und nie ohne Backup vornehmen.

Strings aus Ressourcen laden

Der String wird in einem Stringtable in der Ressource definiert. Der Zweck dieses Tuns liegt darin, daß internationale Versionen allein durch Änderung der Ressourcen erstellbar sind.

char Message[80];

  LoadString(GlobalInstance, ResNr, Message, sizeof(Message));

Bitmap aus Ressourcen laden

Mit der Funktion LoadBitmap kann eine Bitmap in der Ressource geladen werden. Als Ergebnis bekommt man das HBITMAP. Im Beispiel, das aus einer WM_PAINT-Bearbeitung stammt, wird der Hintergrund mit der Bitmap gekachelt.

	HBITMAP hBitmap;
	HBRUSH hbr, hbrPrevious;
	RECT rc;

	hBitmap = LoadBitmap(hInst,MAKEINTRESOURCE(IDB_BITMAP1));

	hbr = CreatePatternBrush(hBitmap);
	hbrPrevious = (HBRUSH)SelectObject(hdc, hbr);

	GetClientRect(hWnd, &rc);
	PatBlt(hdc, rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top, PATCOPY);

	SelectObject(hdc, hbrPrevious);
	DeleteObject(hbr);
	DeleteObject(hBitmap);

Die Bitmap muss anschliessend per DeleteObject freigegeben werden.


Homepage - Windows-API-Programmierung (C) Copyright 1999/2000 Arnold Willemer