public GroupIconResource ConvertToGroupIconResource() { GroupIconResource groupIconResource = new GroupIconResource(); switch (Type) { case GroupType.Icon: groupIconResource.GroupIconResourceType = GroupIconResource.GroupType.Icon; break; case GroupType.Cursor: groupIconResource.GroupIconResourceType = GroupIconResource.GroupType.Cursor; break; } for (int id = 0; id < Icons.Count; id++) { IconResource iconResource = Icons[id].ConvertToIconResource((UInt16) id); groupIconResource.Icons.Add(iconResource); } return groupIconResource; }
public GroupIconResource ConvertToGroupIconResource() { GroupIconResource groupIconResource = new GroupIconResource(); switch (Type) { case GroupType.Icon: groupIconResource.GroupIconResourceType = GroupIconResource.GroupType.Icon; break; case GroupType.Cursor: groupIconResource.GroupIconResourceType = GroupIconResource.GroupType.Cursor; break; } for (int id = 0; id < Icons.Count; id++) { IconResource iconResource = Icons[id].ConvertToIconResource((UInt16)id); groupIconResource.Icons.Add(iconResource); } return(groupIconResource); }
/// <summary> /// Enumerate resource languages within a resource by name /// </summary> private bool EnumResourceLanguages(IntPtr hModule, IntPtr lpszType, IntPtr lpszName, ushort wIDLanguage, IntPtr lParam) { string type = ResourceUtil.GetResourceName(lpszType); List <Resource> resources = null; if (!_resources.TryGetValue(type, out resources)) { resources = new List <Resource>(); _resources[type] = resources; } IntPtr hResource = Kernel32.FindResourceEx(hModule, lpszType, lpszName, wIDLanguage); IntPtr hResourceGlobal = Kernel32.LoadResource(hModule, hResource); int size = Kernel32.SizeofResource(hModule, hResource); Resource rc = null; switch (ResourceUtil.GetResourceName(lpszType)) { case "16": // Kernel32.RT_VERSION: rc = new VersionResource(hModule, hResourceGlobal, lpszType, lpszName, wIDLanguage, size); break; case "14": // Kernel32.RT_GROUP_ICON rc = new GroupIconResource(hModule, hResourceGlobal, lpszType, lpszName, wIDLanguage, size); break; // \todo: specialize other resource types default: rc = new Resource(hModule, hResourceGlobal, lpszType, lpszName, wIDLanguage, size); break; } resources.Add(rc); return(true); }
/// <summary> /// Enumerate resource languages within a resource by name /// </summary> private bool EnumResourceLanguages(IntPtr hModule, IntPtr lpszType, IntPtr lpszName, ushort wIDLanguage, IntPtr lParam) { string type = ResourceUtil.GetResourceName(lpszType); List<Resource> resources = null; if (!_resources.TryGetValue(type, out resources)) { resources = new List<Resource>(); _resources[type] = resources; } IntPtr hResource = Kernel32.FindResourceEx(hModule, lpszType, lpszName, wIDLanguage); IntPtr hResourceGlobal = Kernel32.LoadResource(hModule, hResource); int size = Kernel32.SizeofResource(hModule, hResource); Resource rc = null; switch (ResourceUtil.GetResourceName(lpszType)) { case "16": // Kernel32.RT_VERSION: rc = new VersionResource(hModule, hResourceGlobal, lpszType, lpszName, wIDLanguage, size); break; case "14": // Kernel32.RT_GROUP_ICON rc = new GroupIconResource(hModule, hResourceGlobal, lpszType, lpszName, wIDLanguage, size); break; // \todo: specialize other resource types default: rc = new Resource(hModule, hResourceGlobal, lpszType, lpszName, wIDLanguage, size); break; } resources.Add(rc); return true; }