发新话题
打印

改变列表框的宽度

改变列表框的宽度

在ComboBox中改变列表框的宽度

2004-2-9加入  来自未知  作者贾旭滨(译)  
      
  我们经常会使用到组合框,而组合框是是有2种功能的--下拉和列表。一般情况下,列表框的宽度和选择框是一样宽的,但是我们有些时候确实很需要把列表框的宽度变大,一便让我们能更好的看我们要选的东西。
  为了能有这个功能,我写了下面的这个函数。首先得在你的对话框中添加一个的WM_CTLCOLOR的消息句柄,或者使用CComboBox的继承类,而且在其中添加下面的代码:

HBrush tvisualcombo::onctlcolor(CDC* pdc, CWND* pwnd, UINT nctlcolor)
{
  HBrush hbr = ccombobox::onctlcolor(pdc, pwnd, nctlcolor);
  switch (nctlcolor)
  {
    case ctlcolor_edit:
    break;
   case ctlcolor_listbox:
    if (listwidth > 0)
    {
       // new width of a listbox is defined
       CRect rect;
       pwnd->GetWindowRect(
相关主题

TOP

发新话题