public ShellComboBox()
{
m_Combo.Dock = DockStyle.Fill;
m_Combo.DrawMode = DrawMode.OwnerDrawFixed;
m_Combo.DropDownStyle = ComboBoxStyle.DropDownList;
m_Combo.DropDownHeight = 300;
m_Combo.ItemHeight = SystemInformation.SmallIconSize.Height + 1;
m_Combo.Parent = this;
m_Combo.Click += new EventHandler(m_Combo_Click);
m_Combo.DrawItem += new DrawItemEventHandler(m_Combo_DrawItem);
m_Combo.SelectedIndexChanged += new EventHandler(m_Combo_SelectedIndexChanged);
m_Edit.Anchor = AnchorStyles.Left | AnchorStyles.Top |
AnchorStyles.Right | AnchorStyles.Bottom;
m_Edit.BorderStyle = BorderStyle.None;
m_Edit.Left = 8 + SystemInformation.SmallIconSize.Width;
m_Edit.Top = 4;
m_Edit.Width = Width - m_Edit.Left - 3 - SystemInformation.VerticalScrollBarWidth;
m_Edit.Parent = this;
m_Edit.Visible = false;
m_Edit.GotFocus += new EventHandler(m_Edit_GotFocus);
m_Edit.LostFocus += new EventHandler(m_Edit_LostFocus);
m_Edit.KeyDown += new KeyEventHandler(m_Edit_KeyDown);
m_Edit.MouseDown += new MouseEventHandler(m_Edit_MouseDown);
m_Edit.BringToFront();
m_ShellListener.DriveAdded += new ShellItemEventHandler(m_ShellListener_ItemUpdated);
m_ShellListener.DriveRemoved += new ShellItemEventHandler(m_ShellListener_ItemUpdated);
m_ShellListener.FolderCreated += new ShellItemEventHandler(m_ShellListener_ItemUpdated);
m_ShellListener.FolderDeleted += new ShellItemEventHandler(m_ShellListener_ItemUpdated);
m_ShellListener.FolderRenamed += new ShellItemChangeEventHandler(m_ShellListener_ItemRenamed);
m_ShellListener.FolderUpdated += new ShellItemEventHandler(m_ShellListener_ItemUpdated);
m_ShellListener.ItemCreated += new ShellItemEventHandler(m_ShellListener_ItemUpdated);
m_ShellListener.ItemDeleted += new ShellItemEventHandler(m_ShellListener_ItemUpdated);
m_ShellListener.ItemRenamed += new ShellItemChangeEventHandler(m_ShellListener_ItemRenamed);
m_ShellListener.ItemUpdated += new ShellItemEventHandler(m_ShellListener_ItemUpdated);
m_ShellListener.SharingChanged += new ShellItemEventHandler(m_ShellListener_ItemUpdated);
m_SelectedFolder = ShellItem.Desktop;
m_Edit.Text = GetEditString();
if (m_Computer == null)
{
m_Computer = new ShellItem(Environment.SpecialFolder.MyComputer);
}
CreateItems();
}
#endregion