Sign in Join
FPDoc Onlineexperiment

TGroupIconResource class

In unit groupiconresource

Group icon resource type

Declaration

pascal
TGroupIconResource = class(TGroupResource)

Inheritance

  1. TGroupIconResource
  2. TGroupResource
  3. TAbstractResource

Description

This class represents a resource of type RT_GROUP_ICON.

Resources of this type are strictly related to .ico files: typically a resource compiler creates resources of this type when it is instructed to insert an icon from an .ico file.

There is although a big difference between .ico files and icon resources: an .ico file contains an icon, which is made of several different images (for different sizes and color depth), but while a file of this type is self-contained, when it comes to resources data is scattered over several different resources: an RT_GROUP_ICON resource only contains information about the single images, which are contained each in a different resource of type RT_ICON. The single resources are pretty unuseful alone, since they only consist of raw image data: they must be accessed in the contest of the RT_GROUP_ICON resource, which provides information about them.

TGroupIconResource provides a way to handle an icon as if it was a .ico file, via ItemData property. Single icon resources are automatically created or destroyed as needed.

This class doesn't allow its type to be changed to anything else than RT_GROUP_ICON. Attempts to do so result in a EResourceDescChangeNotAllowedException.

See also

Methods

ReadResourceItemHeaderprotected
WriteHeaderprotected
CreateSubItemprotected
UpdateItemOwnerprotected
ClearItemListprotected
DeleteSubItemsprotected
GetSubStreamprotected
GetTypeprotectedReturns the type of the resource
GetNameprotectedReturns the name of the resource
ChangeDescTypeAllowedprotectedReports whether changing the type of resource type or name is allowed
ChangeDescValueAllowedprotectedReports whether changing the value of resource type or name is allowed
CreatepublicCreates a new group icon resource

Inherited

From TGroupResource (13)

CheckBuildItemStream CompareContents CreateSubItems Destroy FindSubResources GetItemData GetSubStreamCount ItemData NotifyResourcesLoaded SetCustomItemDataStream SetOwnerList UpdateRawData WriteResHeader

From TAbstractResource (18)

_Type CacheData Characteristics CodePage DataOffset DataSize DataVersion HeaderSize LangID MemoryFlags Name Owner OwnerList RawData SetChildOwner SetCustomRawDataStream SetDescOwner Version

An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.