请问:非MFC程序中,如何自行设置ComboBox下拉列表框的位置(主要是指left,而非width)?应该处理什么窗口的什么消息?怎么实现?

Libran 2005-03-18 08:14:01
我做了实验:
下拉列表框打开后,在一个延迟触发定时器里,用GetComboBox获得下拉列表框的句柄后,再用MoevWindow或SetWindowPos都可以改变下拉列表框的位置(不过下次打开就又恢复了);
但是,在拦截CBN_DROPDOWN消息时,上面的方法就没有用了。
请教各路高人该如何处理?
...全文
204 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Libran 2005-03-22
  • 打赏
  • 举报
回复
再up一下~~~~~~
shenxinbbq 2005-03-22
  • 打赏
  • 举报
回复
MARK
surstar 2005-03-22
  • 打赏
  • 举报
回复
晕,我帮你UP 一下~
Libran 2005-03-22
  • 打赏
  • 举报
回复
最后一次up啦。。。
菜牛 2005-03-21
  • 打赏
  • 举报
回复
好像必须用自绘了。不过既然你觉得ComboBox不符合你的要求,完全可以用一个EditBox和一个ListBox来代替啊,那么就好随便放了。
菜牛 2005-03-21
  • 打赏
  • 举报
回复
MSDN中没有找到GetComboBox这个函数,自己编的吗?
rangren 2005-03-21
  • 打赏
  • 举报
回复
设两个下拉框试试,轮流隐藏
Libran 2005-03-21
  • 打赏
  • 举报
回复
再up
高人帮忙阿~~~~
Libran 2005-03-21
  • 打赏
  • 举报
回复
Sorry,应该是GetComboBoxInfo,写错了啦。。。

真的就没办法了吗?……
Libran 2005-03-20
  • 打赏
  • 举报
回复
up
Libran 2005-03-19
  • 打赏
  • 举报
回复
我是这样做的:
在CBN_DROPDOWN里用SetTimer设一个定时器;WM_TIMER消息触发后,用GetComboBoxInfo获得hwndList,再用SetWindowPos指定位置。

得到的结果就是:
点击ComboBox的下拉箭头按钮,下拉框先在缺省的位置(左边和ComboBox的左边对齐)显示出来,延时后再移至SetWindowPos指定的位置;但是,以后再点击下拉箭头,下拉框仍然是先在缺省位置显示,再移至SetWindowPos指定的位置。

而我想要得到效果是:
点击ComboBox的下拉箭头按钮,下拉框直接在指定的位置显示出来。

请教各位,应该如何实现?
(我在CBN_DROPDOWN消息中使用SetWindowPos没有效果,那应该在什么消息中怎么处理?)
Mr-Chen 2005-03-19
  • 打赏
  • 举报
回复
重绘下拉框
42252343 2005-03-19
  • 打赏
  • 举报
回复
不过下次打开就又恢复了??什么意识?
chen18s 2005-03-19
  • 打赏
  • 举报
回复
参考:
MFC中这样
CCombobox * m_pComb ;
....

m_pComb->Create(WS_CHILD|WS_VISIBLE|WS_VSCROLL|CBS_DROPDOWNLIST,CRect(10,10,200,100), pParentWnd, 1);

CRect里的参数就是父窗口左上右下的坐标

SetWindowPos()....
Libran 2005-03-19
  • 打赏
  • 举报
回复
up
就是说怎么让ComboBox的下拉列表框在指定的位置显示?
red-fly 2005-03-18
  • 打赏
  • 举报
回复
试不出来呀
red-fly 2005-03-18
  • 打赏
  • 举报
回复
这个没有弄过,第一次看见这样的问题
有空我试试

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧