有谁知道QQ等聊天软件中,表情框(就是显示所有表情图片的下拉框)是怎么实现的吗?

anglersk 2003-09-21 04:10:03
有谁知道QQ等聊天软件中,表情框(就是显示所有表情图片的下拉框)是怎么实现的吗?
...全文
31 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaofei7569 2003-09-22
  • 打赏
  • 举报
回复
学习。
程序x人生 2003-09-21
  • 打赏
  • 举报
回复
我曾做了一个具有下拉菜单,看对你有没有帮助:
先在主框架类的OnCreate消息函数里创建具有下拉式风格的按钮
m_wndToolBar.GetToolBarCtrl().SetExtendedStyle(TBSTYLE_EX_DRAWDDARROWS);
DWORD dwStyle=m_wndToolBar.GetButtonStyle(m_wndToolBar.CommandToIndex(
ID_HATCHED));
dwStyle |=TBSTYLE_DROPDOWN;
m_wndToolBar.SetButtonStyle(m_wndToolBar.CommandToIndex(ID_HATCHED),dwStyle);

再手动添加消息函数afx_msg void OnToolbarDropDown(NMTOOLBAR* pnmh,LRESULT* plRes);
同时在消息队列里:ON_NOTIFY(TBN_DROPDOWN,AFX_IDW_TOOLBAR,OnToolbarDropDown)
函数实现:
void CMainFrame::OnToolbarDropDown(NMTOOLBAR* pnmh,LRESULT* plRes)
{
CWnd *pWnd;
UINT nID;

//在工具栏按钮中切换,寻找需要加入下拉式菜单的按钮
switch(pnmh->iItem)
{
case ID_HATCHED:
pWnd=&m_wndToolBar;
nID=IDR_HATCH;
break;
default:
return;
}

CMenu menu;
menu.LoadMenu(nID);
CMenu* pPopup=menu.GetSubMenu(0);
ASSERT(pPopup);

CRect rc;
pWnd->SendMessage(TB_GETRECT,pnmh->iItem,(LPARAM)&rc);
pWnd->ClientToScreen(&rc);

pPopup->TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON|
TPM_VERTICAL,rc.left,rc.bottom,this,&rc);
}

ps:alon21(漂一族.Alon)老兄:能给我一份吗?谢谢!!
faithcj@163.net
alon21 2003-09-21
  • 打赏
  • 举报
回复
例子已经发给你了,查收
anglersk 2003-09-21
  • 打赏
  • 举报
回复
怎么实现的,讲清楚一点好吗?
最后能有源代码,我是初学者
huanyun 2003-09-21
  • 打赏
  • 举报
回复
自己派生的CWND
anglersk 2003-09-21
  • 打赏
  • 举报
回复
不知道啊,我用浮动工具条试了试,但不能去掉它的标题栏
xnew2008 2003-09-21
  • 打赏
  • 举报
回复
是不是一个Dialogbar

1,657

社区成员

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

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