示例#1
0
 /// <summary>
 /// Write accelerator to a binary stream.
 /// </summary>
 /// <param name="w">Binary stream.</param>
 internal void Write(BinaryWriter w)
 {
     w.Write(_accel.fVirt);
     w.Write(_accel.key);
     w.Write(_accel.cmd);
     ResourceUtil.PadToWORD(w);
 }
 /// <summary>
 /// Write a hardware-independent icon resource to a binary stream.
 /// </summary>
 /// <param name="w">Binary stream.</param>
 internal override void Write(BinaryWriter w)
 {
     w.Write((UInt16)_header.wReserved);
     w.Write((UInt16)_header.wType);
     w.Write((UInt16)_icons.Count);
     ResourceUtil.PadToWORD(w);
     foreach (ImageResourceType icon in _icons)
     {
         icon.Write(w);
     }
 }
示例#3
0
 /// <summary>
 /// Write icon resource data to a binary stream.
 /// </summary>
 /// <param name="w">Binary stream.</param>
 internal override void Write(BinaryWriter w)
 {
     w.Write(_header.bWidth);
     w.Write(_header.bHeight);
     w.Write(_header.bColors);
     w.Write(_header.bReserved);
     w.Write(_header.wPlanes);
     w.Write(_header.wBitsPerPixel);
     w.Write(_header.dwImageSize);
     w.Write(_header.nID);
     ResourceUtil.PadToWORD(w);
 }
示例#4
0
 internal virtual void Write(BinaryWriter w)
 {
     // menu string
     if (_menuString == null)
     {
         w.Write((UInt16)0);
     }
     else
     {
         w.Write(Encoding.Unicode.GetBytes(_menuString));
         w.Write((UInt16)0);
         ResourceUtil.PadToWORD(w);
     }
 }
示例#5
0
        /// <summary>
        /// Write the dialog control to a binary stream.
        /// </summary>
        /// <param name="w">Binary stream.</param>
        public virtual void Write(BinaryWriter w)
        {
            // control class
            DialogTemplateUtil.WriteResourceId(w, _controlClassId);
            // caption
            DialogTemplateUtil.WriteResourceId(w, _captionId);

            if (_creationData == null)
            {
                w.Write((UInt16)0);
            }
            else
            {
                ResourceUtil.PadToWORD(w);
                w.Write((UInt16)_creationData.Length);
                w.Write(_creationData);
            }
        }
 internal static void WriteResourceId(BinaryWriter w, ResourceId rc)
 {
     if (rc == null)
     {
         w.Write((UInt16)0);
     }
     else if (rc.IsIntResource())
     {
         w.Write((UInt16)0xFFFF);
         w.Write((UInt16)rc.Id);
     }
     else
     {
         ResourceUtil.PadToWORD(w);
         w.Write(Encoding.Unicode.GetBytes(rc.Name));
         w.Write((UInt16)0);
     }
 }