用SendMessage向由CreateDialogIndirectParam创建的对话框发送消息
SendMessage的返回值与消息处理时返回的值不一样
返回的总是0,
而消息处理时返回的是1
为什么呢?
有什么样的原因会导致这种状况出现呢? 我都是直接用的WINAPI,没用MFC
SendMessage的返回值与消息处理时返回的值不一样
返回的总是0,
而消息处理时返回的是1
为什么呢?
有什么样的原因会导致这种状况出现呢? 我都是直接用的WINAPI,没用MFC
解决方案 »
- 请问磁盘的右键菜单是如何实现的
- 关与MDI多文档程序视图切换问题
- 关于开发DLL的问题
- 请问一下基于NDIS Hook实现的防火墙与Windows版本相关性
- 请 sinall() 进来领分,特为感谢你给我发送《IDL精髓》此书
- 用vc6.0如何获取一个表中的字段名?
- 请问如何触发WM_MOUSEHOVER 鼠标滞留事件?
- 在Win2000中如何编程找出任一汉字的偏旁部首的组成及笔画数及拼音?
- 我的这个硬盘是不是7200转的金钻硬盘???---Maxtor D740-6L?高分!!!
- Skinplusplus 背景及背景图片问题
- DLL中动态创建的菜单怎么是灰色的
- 把.c文件改成.cpp就出错,为什会找不到函数呢?
也就是S_OK
但SendMessage的返回值确实0
我表达能力这么差吗?1.用CreateDialogIndirectParam创建对话框,窗口过程为DLGPRO
2.用SENDMESSAGE 向对话框发送了一个自定义的消息,
3.对话框的窗口过程DLGPRO处理了此消息,并返回TRUE,也就是1
4.但在SENDMESSAGE得到的返回值却是0
4.但在SENDMESSAGE得到的返回值却是0--在消息队列中处理完了,0表示正确处理了,非0看错误号
不是吧
SENDMESSAGE的返回值应该是窗口过程的返回值啊
按你的说法,是SENDMESSAGE不能得到窗口过程的返回值?
恐怕难以接受
postmessage才是这样,sendmessage确实是返回消息处理函数的返回值来的。看msdn中的描述:
BOOL PostMessage(
HWND hWnd, // handle to destination window
UINT Msg, // message
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
);Return Values
If the function succeeds, the return value is nonzero.If the function fails, the return value is zero. To get extended error information, call GetLastError. LRESULT SendMessage(
HWND hWnd, // handle to destination window
UINT Msg, // message
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
);Return Values
The return value specifies the result of the message processing; it depends on the message sent.