首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 关于系统消息影射,谁会就给100分
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • caiyan807
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 结帖率:
    发表于:2008-08-20 15:59:30 楼主
    我用mfc做了一个界面通过计算机控制相机拍照,通过自定义一些消息机制来储存照片到特定的位置,但是只能拍照,之后相机的数据传输灯一直处于闪烁状态,好像死机似的,只能拍但是存不了照片,也不知道错在哪了
    我在Dialog1.h文件中声明这么几个消息以及响应函数:
    消息:
    protected:
    static const UINT iImageReadyMsg;
    static const UINT iTransferProgressMsg;
    static const UINT iDeviceAddMsg;
    static const UINT iDeviceRemovedMsg;
    static const UINT iPropChangedMsg;
    响应函数:
      public:
            afx_msg LRESULT OnImageReady(WPARAM wParam, LPARAM lParam);
    afx_msg LRESULT OnTransferProgress(WPARAM wParam, LPARAM lParam);
    afx_msg LRESULT OnDeviceAdd(WPARAM wParam, LPARAM lParam);
    afx_msg LRESULT OnDeviceRemoved(WPARAM wParam, LPARAM lParam);
    afx_msg LRESULT OnPropertyChanged(WPARAM wParam, LPARAM lParam);

    在Dialog1.cpp中具体定义:

    消息定义:
    const UINT CDialog1::iImageReadyMsg = RegisterWindowMessage(MOCHADLL_IMAGEREADY);
    const UINT CDialog1::iTransferProgressMsg = RegisterWindowMessage(MOCHADLL_TRANSFERPROGRESS);
    const UINT CDialog1::iDeviceAddMsg = RegisterWindowMessage(MOCHADLL_DEVICEADD);
    const UINT CDialog1::iDeviceRemovedMsg = RegisterWindowMessage(MOCHADLL_DEVICEREMOVE);
    const UINT CDialog1::iPropChangedMsg = RegisterWindowMessage(MOCHADLL_PROPCHANGED);

    消息绑定:
    BEGIN_MESSAGE_MAP(CDialog1, CDialog)
    //{{AFX_MSG_MAP(CDialog1)
    ON_REGISTERED_MESSAGE(iImageReadyMsg,OnImageReady)
    ON_REGISTERED_MESSAGE(iTransferProgressMsg,OnTransferProgress)
    ON_REGISTERED_MESSAGE(iDeviceAddMsg,OnDeviceAdd)
    ON_REGISTERED_MESSAGE(iDeviceRemovedMsg,OnDeviceRemoved)
    ON_REGISTERED_MESSAGE(iPropChangedMsg,OnPropertyChanged)
    //}}AFX_MSG_MAP
    END_MESSAGE_MAP()

    具体响应函数定义:
    afx_msg LRESULT CDialog1::OnDeviceAdd(WPARAM wParam, LPARAM lParam)
    {
    OnButton1();

    return 0;
    }

    afx_msg LRESULT CDialog1::OnDeviceRemoved(WPARAM wParam, LPARAM lParam)
    {
    OnButton1();

    return 0;
    }

    afx_msg LRESULT CDialog1::OnImageReady(WPARAM wParam, LPARAM lParam)
    {
    ULONG32 lCam = (ULONG32)wParam;
    ULONG32 nObjHandle = (ULONG32)lParam;
    DownloadImage(lCam, nObjHandle);
       

    return 0;
    }
    afx_msg LRESULT CDialog1::OnTransferProgress(WPARAM wParam, LPARAM lParam)
    {
    return 0;
    }
    afx_msg LRESULT CDialog1::OnPropertyChanged(WPARAM wParam, LPARAM lParam)
    {
    ULONG32 ulCam = (ULONG32)wParam;
    ULONG32 ulProp = (ULONG32)lParam;

    if((LONG32)ulCam==m_nCam)
    {
    UpdateSettings(ulProp);
    }

    return 0;
    }


    请问大家,我到底错在哪了?已经想了两天了,脑袋都块炸了,救命啊


    谁能帮我解决,就送100分(包括另一个同样帖子的80分,我发在基础类版了)
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • what2say3
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-29 17:31:311楼 得分:0
    你的问题是什么? 相机死机还是你的MFC窗口收不到你自定义的消息??你要给谁发消息,用RegisterWindowMessage()?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • dwdali
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-29 19:29:392楼 得分:0
    从你贴的代码可不能看出问题在哪.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • schlafenhamster
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-31 17:19:063楼 得分:0
    消息源有没有产生消息?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • schlafenhamster
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-31 17:19:234楼 得分:0
    消息源有没有产生消息?
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved