Изменение положения списка CCombobox`a
От: Агапов Андрей  
Дата: 29.10.01 11:17
Оценка:
Народ, как изменить положение выпадающего списка у Combobox`а? Ситуация такой: близко к правой границе экрана есть комбобокс. Добавляемые в него строки достаточно длинные и, соответственно, значительная часть списка просто не видна. По логике вещей нужно бы в таком случае "привязать" список не к левой границе CEdit, а к правой. И вот это заклинание я никак найти не могу... :(
Re: Изменение положения списка CCombobox`a
От: Eugene  
Дата: 29.10.01 16:30
Оценка:
Здравствуйте Агапов Андрей, Вы писали:

АА>Народ, как изменить положение выпадающего списка у Combobox`а? Ситуация такой: близко к правой границе экрана есть комбобокс. Добавляемые в него строки достаточно длинные и, соответственно, значительная часть списка просто не видна. По логике вещей нужно бы в таком случае "привязать" список не к левой границе CEdit, а к правой. И вот это заклинание я никак найти не могу... :(



Это можно сделать в обработчике сообщения OnCtlColor (в диалоге или в унаследованном от CComboBox классе), примерно так (для унаследованного класса):

void CStatusCombo::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
  if( nCtlColor == CTLCOLOR_LISTBOX )
  {
    CRect r;
    pWnd->GetWindowRect(&r);

    // изменяем r.left,r.right 

    pWnd->MoveWindow(r.left, r.top, r.Width(), r.Height(), TRUE );
  }
  //...
}


Евгений
Don't trouble trouble until trouble troubles you
Re[2]: Изменение положения списка CCombobox`a
От: Агапов Андрей  
Дата: 30.10.01 07:04
Оценка:
E>Это можно сделать в обработчике сообщения OnCtlColor (в диалоге или в унаследованном от CComboBox классе), примерно так (для унаследованного класса):

......

E>Евгений


А ларчик просто открывался. :)
Спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.