简单问题:创建一个类似ComboBox里的ListBox窗口

smatter 2004-08-25 10:42:18
我想自己做一个自画的ComboBox
其中我派生CListBox生成了CMyListBox类

我要动态显示这个窗口,并且这个列表窗口显示范围可以超过程序中的所有窗口。
我对MyListbox.Create(...)里面参数中的父亲不知道设什么好,看MSDN里说,如果窗口有POPUP属性的时候,这个参数可以随意,我找做了,为什么老创建失败。

各位大虾,能不能给句完整的示例,谢谢了!
...全文
93 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
smatter 2004-08-25
  • 打赏
  • 举报
回复
大家有什么建议吗?或者谁有相关的资料。
smatter 2004-08-25
  • 打赏
  • 举报
回复
0xFFFF没关系的,意思是忽略ID
lixiaosan 2004-08-25
  • 打赏
  • 举报
回复
0xFFFF

这个id是不是太大了
smatter 2004-08-25
  • 打赏
  • 举报
回复
m_List.CreateEx(0, "ListBox", "", WS_POPUP | WS_BORDER | WS_VISIBLE, CRect(0,0,100,100), this, 0xFFFF);

这句话有什么问题吗?为什么是失败?

我不是在对话框里,其实我是这样的:
我新的ComboBox类是派生于CWnd的,里面有3个内嵌类,分别派生于CEdit、CButton、CListBox,分别对应3个成员变量m_Edit、m_Button、m_List。
m_Edit和m_Button没什么难度,就是m_List的显示范围可以跨越程序中任何一个窗口。

我觉得也就是一个类似非模式Dialog的窗口。

可是我就是不知道怎么创建这样的一个List窗口,用哪些属性和扩展属性,以及父亲窗口怎么设!!!
kpld8888 2004-08-25
  • 打赏
  • 举报
回复
帮你UP
enoloo 2004-08-25
  • 打赏
  • 举报
回复
如果在对话框中创建,传递this.
smatter 2004-08-25
  • 打赏
  • 举报
回复
自问自答:
我解决了,很简单:
CWnd.CreateEx是个重载虚拟函数,用其中的一个有HWND hwndParent的这个就行了!
HWND hwndParent就是窗口的拥有者,而不是父亲,可以设置空的,别的没什么需要注意的!
CWnd* pParentWnd是父亲窗口,如果要创建定层窗口就用HWND hwndParent的!

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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