| 
div.main {margin-left: 20pt; margin-right: 20pt}
      Как поместить картинки в Combo Box.
       Автор: Allan 
      Carlton 
      Делается это при помощи стиля ownerdraw, который присутствует в 
      TComboBox. Нас интересуют два свойства этого стиля:
      
        csOwnerDrawFixed - используется, если все битмапы имеют одинаковую 
        высоту 
        csOwnerDrawVariable - используется для битмапов с разной высотой 
        
       После того как стиль будет установлен на один из вышеперечисленных, то 
      можно воспользоваться событием onDrawItem. Это событие возникает каждый 
      раз, когда приложению необходимо нарисовать пункт в выпадающем списке 
      (combo box). Событие определяется следующим образом: 
      procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: 
      Integer;  Rect: TRect; State: TOwnerDrawState)  
      
        
        
          | Control | 
          Элемент управления, содержащий пункт 
          списка |  
        
          | Index | 
          Номер элемента списка |  
        
          | Rect | 
          прямоугольник, в котором будет отображён 
            элемент списка |  
        
          | State | 
          Состояние элемента: выбран, заблокирован или 
            имеет фокус (odSelected, OdDisabled или 
      OdFocused) |   
      Если выпадающему списку был присвоен стиль csOwnerDrawFixed, то всё, 
      что надо сделать, это написать процедуру, которая будет рисовать битмап и 
      текст в событии onDrawItem.
  Для выпадающего списка со стилем 
      csOwnerDrawVariable необходимо пройти ещё одну дополнительную стадию. 
      Заключается эта стадия в создании обработчика для события onMeasureItem. 
      Это событие вызывается перед DrawItem, для того, чтобы Вы могли установить 
      фактическую высоту для каждого элемента списка. Вот его 
      определение:
  procedure TForm1.ComboBox1MeasureItem(Control: 
      TWinControl; Index: Integer;  var Height: Integer);  
      
        
        
          | Control | 
          Элемент управления, содержащий пункт 
          списка |  
        
          | Index | 
          Номер элемента списка  |  
        
          | Height | 
          Собственно высота элемента списка с номером 
            Index |   
      
  
      От теории к практике
  
      
        Создайте новое приложение 
        Разместите на форме combobox и imagelist (если Вы используете delphi 
        1, то Вам прийдётся хранить битмапы каким-то другим способом) 
        В Object Inspector установите следующие свойства: 
       
        
        
          | Компонент | 
          Свойство | 
          Установите в | 
          Описние |  
        
          | ComboBox1 | 
          Style | 
          csOwnerDrawFixed | 
          Чтобы мы могли контролировать рисованием 
            элементов. |  
        
          | ComboBox1 | 
          Items | 
          Здесь можно добавить любые строки, которые будут 
            отображаться рядом с битмапами. | 
          Чтобы каждый элемент имел описание к 
            картинке. |  
        
          | ImageList1 | 
          Используйте редактор списка картинок (ImageList 
          Editor) | 
          Добавьте битмапы в том порядке, в котором они будут 
            отображаться в combobox, а так же проверьте, чтобы они были одного 
            размера. Прозрачный цвет можно установить здесь же. | 
          Это картинки, которые появятся в выпадающем 
            списке |   
       
      
        В заключение необходимо добавить следующий код для события 
        onDrawItem: 
       
  procedure TForm1.ComboBox1DrawItem(Control: TWinControl; 
      Index:Integer;  Rect: TRect; State: 
      TOwnerDrawState); begin   (* Заполняем прямоугольник 
      *)   combobox1.canvas.fillrect(rect);  
    (* 
      Рисуем сам битмап *)   
      imagelist1.Draw(comboBox1.Canvas,rect.left,rect.top,Index);
    
      (* Пишем текст после картинки *)   
      combobox1.canvas.textout(rect.left+imagelist1.width+2,rect.top,                           
      combobox1.items[index]); end; 
         
 |