-

- 加为好友
- 发送私信
- 在线聊天
-
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
修改
删除
举报
引用
回复
| |