在Visual C++ 6.0中,我在Combo Box属性的data中输入一列数据。可是运行时,点击下拉按钮,下拉菜单不能弹出来,只有按上下方向键数据才会依次显示出来。这样很不方便,这该怎么办?是属性的问题还是VC 的bug?

解决方案 »

  1.   

    资源编辑器上点击ComboBox的右边的下拉箭头,弹出一个矩形框,拉大该矩形框的高度即可
      

  2.   

    或者通过代码MoveWindow/SetWindowPos来设置
      

  3.   


    CRect rc;
    m_combo.GetWindowRect(&rc);
    ScreenToClient(&rc);
    rc.bottom += 100;
    m_combo.MoveWindow(rc);

      

  4.   

    不少人对组合框的使用存在疑惑,提出过不少次的提问,针对这个问题,从网上抄下一些资料,供大家参考
    当 用 资 源 编 辑 器 在 一 个 对 话 框 中 生 成 组 合 框 控件 时, 可 以 看 到 组 合 框 两 侧 的 控 制 点 是 实心,而 上 下四 周 的 控 制 点 是 虚 心 的, 即 组 合 框 水 平 方 向 的 大 小 可以 通 过 拖 动 组 合 框 控 件 两 侧 的 实 心控制 点 改 变, 垂 直方 向 的 大 小 则 不 能 改 变。 为 了 改 变 垂 直 方 向 的 大 小,可 以 用 鼠 标 单 击 组 合 框 控件 的下 拉 箭 头, 可 以 看 到 控件 的 上 下 的 控 制 点 变 成 实 心, 此 时 可 以 拖 动 该 控 制 点将 组 合 框 的 高度 改 变。当 运 行 程 序 时, 按 下 下 拉 箭头,Windows 利 用 该 高 度 重 置 组 合 框 的 大小。---- 如 果 组 合 框 中 各 列 表 项 是 固 定 的, 则 可 以 预 先 将这 些 项 写 进 组 合 框。 方 法 是: 打 开 资 源 编 辑器,从 组合 框 的 属 性(Proprities) 对 话 框 中 选 择Data 标 签, 在"Enter listbox Items" 列 表 框 中 填 加各 列 表 项,注 意 加 完 一 项 换行 时, 必 须 用Ctrl+Enter 组 合 键。 如 果 希 望以 输 入 的 次 序来 显 示 各 项, 则 不 要 选 择Styles 标 签 的Sort 项。 填 加 完 列表 项 后, 利 用 上 述 方 法 改 变 组 合 框 的 高 度( 否 则 程 序运 行后, 单 击 组合 框 下 拉 箭 头 列 表 框 不 出 现), 这样, 运 行 程 序 后, 单 击 组 合 框 的 下 拉 箭 头 可 以 看 到 各列表 项 已加 入 到 组 合 框 的 列 表 框 中。