/// <summary>
/// An in-memory Win32 dialog template
/// Note: this has a very specific structure with a single static "label" control
/// See documentation for DLGTEMPLATE and DLGITEMTEMPLATE
/// </summary>
[StructLayout(LayoutKind.Sequential)]
internal class DlgTemplate
{
// The dialog template - see documentation for DLGTEMPLATE
public Int32 style = DlgStyle.Ds3dLook | DlgStyle.DsControl | DlgStyle.WsChild | DlgStyle.WsClipSiblings | DlgStyle.SsNotify;
public Int32 extendedStyle = ExStyle.WsExControlParent;
public Int16 numItems = 1;
public Int16 x = 0;
public Int16 y = 0;
public Int16 cx = 0;
public Int16 cy = 0;
public Int16 reservedMenu = 0;
public Int16 reservedClass = 0;
public Int16 reservedTitle = 0;
// Single dlg item, must be dword-aligned - see documentation for DLGITEMTEMPLATE
public Int32 itemStyle = DlgStyle.WsChild;
public Int32 itemExtendedStyle = ExStyle.WsExNoParentNotify;
public Int16 itemX = 0;
public Int16 itemY = 0;
public Int16 itemCx = 0;
public Int16 itemCy = 0;
public Int16 itemId = 0;
public UInt16 itemClassHdr = 0xffff; // we supply a constant to indicate the class of this control
public Int16 itemClass = 0x0082; // static label control
public Int16 itemText = 0x0000; // no text for this control
public Int16 itemData = 0x0000; // no creation data for this control
};