Пример #1
0
void ResourceInfo::WriteRes(ResFile &resFile)
{
    resFile.WriteDWord(0);
    resFile.WriteWord(memoryFlags);
    resFile.WriteWord(language);
    resFile.WriteDWord(version);
    resFile.WriteDWord(characteristics);
}
Пример #2
0
void Dialog::WriteRes(ResFile &resFile)
{
    Resource::WriteRes(resFile);
    if (!extended)
    {
        resFile.WriteDWord(style);
        resFile.WriteDWord(exStyle);
    } 
    else
    {
        resFile.WriteWord(1);
        resFile.WriteWord(0xffff);
        resFile.WriteDWord(helpIndex);
        resFile.WriteDWord(exStyle);
        resFile.WriteDWord(style);
    }
    resFile.WriteWord(controls.size());
    pos.WriteRes(resFile);
    size.WriteRes(resFile);

    menu.WriteRes(resFile);
    cls.WriteRes(resFile);

    resFile.WriteString(caption);

    if (style & DS_SETFONT)
    {
        resFile.WriteWord(pointSize);
        if (extended)
        {
            resFile.WriteWord(weight);
            resFile.WriteWord(italics);
        }
        resFile.WriteString(font);
    }
    int count = controls.size();
    for (iterator it = begin(); it != end(); ++it)
    {
        resFile.Align();
        (*it)->WriteRes(resFile, extended, !--count);
    }
    resFile.Release();
}
Пример #3
0
void GroupCursor::WriteRes(ResFile &resFile)
{
    Resource::WriteRes(resFile); 
    resFile.WriteWord(0);
    resFile.WriteWord(2);
    resFile.WriteWord(cursors.size());
    for (iterator it = begin(); it != end(); ++it)
    {
        resFile.WriteWord((*it)->GetSize().x);
        resFile.WriteWord((*it)->GetSize().x * 2);
        resFile.WriteWord(1);
        resFile.WriteWord(1);
        resFile.WriteDWord((*it)->GetBytes() + 4);
        resFile.WriteWord((*it)->GetIndex());
     }
    resFile.Release();
}
Пример #4
0
void Control::WriteRes(ResFile &resFile, bool ex, bool last)
{
    resFile.Align();
    if (!ex)
    {
        resFile.WriteDWord(style);
        resFile.WriteDWord(exStyle);
    }
    else
    {
        resFile.WriteDWord(helpIndex);
        resFile.WriteDWord(exStyle);
        resFile.WriteDWord(style);
    }
    pos.WriteRes(resFile);
    size.WriteRes(resFile);
    if (ex)
        resFile.WriteDWord(id);
    else
        resFile.WriteWord(id);
    cls.WriteRes(resFile);
    text.WriteRes(resFile);
    int len = 0;
    for (iterator it = begin() ; it != end(); ++it)
    {
        len += (*it)->GetLen();
    }
    resFile.WriteWord(len);
    if (len)
    {
        resFile.Align();
        for (iterator it = begin() ; it != end(); ++it)
        {
            if ((*it)->GetLen())
            {
                resFile.WriteData((*it)->GetData(), (*it)->GetLen());
            }
        }
    }
}