如果你用MFC则手工在对话框的消息映射中加入对该消息的响应;
如果用API则在对话框的回调函数中加入对该消息的响应;
如果用API则在对话框的回调函数中加入对该消息的响应;
解决方案 »
- DirectShow里的SampleGrabber接口setcallback()函数怎么使用?
- 如何将数据库里的数据读进列表控件。
- MFC树型结构
- ********************女朋友和老妈的矛盾,我该怎么解决,快崩溃了***************************
- WINAPI是个什么东东?在dll调用中起什么作用?
- VARIANT 的问题~
- 分数不多,只为求知!请大侠赐教!
- 怎么调用一个对象里面的公共函数?
- 如何继承我自己创建的类?我用classwizard创建新类找不到我自己的类
- 请问那位仁兄有关于压缩算法的Delphi中文资料?
- InstallShield做的安装程序中怎么检查序列号(Serial No)?
- 急!怎么也不行!
CTestDialog dlg;
dlg.hList.AddString("adfs");
dlg.hList.AddString("kll");
当然,hList可以用ClassWizard来生成.
我的子对话框是在一DLL中,现在我在客户程序中发送消息改变列表框中的内容。我如果采用自定义消息,先由子对话框处理该消息,再把得到的值传递给列表框是可以实现的。现在老板要求我不用自定义消息,而用常规LB_ADDSTRING直接向列表框发送。但我在客户程序中只知道对话框的ID,如何是好?
我用下面的代码简单的测试了一下。可以,不过我没有在dll中试过,应该是一样的
//CExam001View.hpp
Class CExam001View:public CView
{
........
CMyDlg dlg; //非模态对话框
.......
}
//////////CExam001View.cpp
//////////
....
void CExam001View::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
//非模态对话框
dlg.Create(130,NULL);//130是dlg的id CView::OnLButtonDown(nFlags, point);
}.......
void CExam001View::OnRButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
HWND hList=::GetDlgItem(dlg.m_hWnd,IDC_LIST1);
//直接对列表框控件发消息,列表框控件本质上也是一个窗口
::SendMessage(hList,LB_ADDSTRING,0,(LPARAM)"hello world");
CView::OnRButtonDown(nFlags, point);
}调试通过。
祝你好远!