private void DeriveStyles(int Style, int ExStyle, out FormBorderStyle border_style, out bool border_static, out TitleStyle title_style, out int caption_height, out int tool_caption_height) {
caption_height = 0;
tool_caption_height = 19;
border_static = false;
if (StyleSet (Style, WindowStyles.WS_CHILD)) {
if (ExStyleSet (ExStyle, WindowExStyles.WS_EX_CLIENTEDGE)) {
border_style = FormBorderStyle.Fixed3D;
} else if (ExStyleSet (ExStyle, WindowExStyles.WS_EX_STATICEDGE)) {
border_style = FormBorderStyle.Fixed3D;
border_static = true;
} else if (!StyleSet (Style, WindowStyles.WS_BORDER)) {
border_style = FormBorderStyle.None;
} else {
border_style = FormBorderStyle.FixedSingle;
}
title_style = TitleStyle.None;
if (StyleSet (Style, WindowStyles.WS_CAPTION)) {
caption_height = 19;
if (ExStyleSet (ExStyle, WindowExStyles.WS_EX_TOOLWINDOW)) {
title_style = TitleStyle.Tool;
} else {
title_style = TitleStyle.Normal;
}
}
if (ExStyleSet (ExStyle, WindowExStyles.WS_EX_MDICHILD)) {
caption_height = 19;
if (StyleSet (Style, WindowStyles.WS_OVERLAPPEDWINDOW) ||
ExStyleSet (ExStyle, WindowExStyles.WS_EX_TOOLWINDOW)) {
border_style = (FormBorderStyle) 0xFFFF;
} else {
border_style = FormBorderStyle.None;
}
}
} else {
title_style = TitleStyle.None;
if (StyleSet (Style, WindowStyles.WS_CAPTION)) {
if (ExStyleSet (ExStyle, WindowExStyles.WS_EX_TOOLWINDOW)) {
title_style = TitleStyle.Tool;
} else {
title_style = TitleStyle.Normal;
}
}
border_style = FormBorderStyle.None;
if (StyleSet (Style, WindowStyles.WS_THICKFRAME)) {
if (ExStyleSet (ExStyle, WindowExStyles.WS_EX_TOOLWINDOW)) {
border_style = FormBorderStyle.SizableToolWindow;
} else {
border_style = FormBorderStyle.Sizable;
}
} else {
if (StyleSet (Style, WindowStyles.WS_CAPTION)) {
if (ExStyleSet (ExStyle, WindowExStyles.WS_EX_CLIENTEDGE)) {
border_style = FormBorderStyle.Fixed3D;
} else if (ExStyleSet (ExStyle, WindowExStyles.WS_EX_STATICEDGE)) {
border_style = FormBorderStyle.Fixed3D;
border_static = true;
} else if (ExStyleSet (ExStyle, WindowExStyles.WS_EX_DLGMODALFRAME)) {
border_style = FormBorderStyle.FixedDialog;
} else if (ExStyleSet (ExStyle, WindowExStyles.WS_EX_TOOLWINDOW)) {
border_style = FormBorderStyle.FixedToolWindow;
} else if (StyleSet (Style, WindowStyles.WS_BORDER)) {
border_style = FormBorderStyle.FixedSingle;
}
} else {
if (StyleSet (Style, WindowStyles.WS_BORDER)) {
border_style = FormBorderStyle.FixedSingle;
}
}
}
}
}