vc++版找不到了,只好发到这里了

dsli 2001-09-15 05:25:08
消息的传送问题
我画了一个对话框
放了一个listbox
和三个button
然后写了如下代码:
//manager.cpp
//----------------------------------------
#include "stdafx.h"
#include "manager.h"
#define LOWORD(l) ((WORD)(l))
int CALLBACK DlgProc(HWND hwndDlg, UINT Msg, WPARAM wParam, LPARAM lParam)
{

switch(Msg)
{
case WM_CLOSE:
PostQuitMessage(0);
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDC_NEW:
MessageBox(hwndDlg,"new","hello",MB_OK);
break;
case IDC_DEL:
MessageBox(hwndDlg,"delete","hello",MB_OK);
break;
case IDC_PROPER:
MessageBox(hwndDlg,"property","hello",MB_OK);
break;
default: break;

}

}
return 0;
}

int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
// TODO: Place code here.
DialogBox(hInstance,MAKEINTRESOURCE(DLG_MAIN),0, DlgProc);
return 0;
}
//----------------------------------------------------------
//-res.h
#ifndef _RES_H_
#define _RES_H_

#define DLG_MAIN 101
#define IDC_DEL 1001
#define IDC_NEW 1002
#define IDC_PROPER 1003

#endif

//----------------
//manager.h
#ifndef _MANAGERH_
#define _MANAGERH_



#include <windows.h>
#include "res.h"


#endif

结果,只有当按下New按钮时才有消息发出
且每次都是IDC_PROPER 即每次都是1003

请指点


...全文
78 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
scklotz 2001-09-16
  • 打赏
  • 举报
回复
有这么奇怪的事情呀!~!!!
你在这个地方放个断点:
case WM_COMMAND:
MessageBox( NULL,,,,,,,, ); // 断点
switch (LOWORD(wParam))
再调试看看。。。(click按钮,看它发过来的消息id是多少)
问题不就解决了吗!!
kimryo 2001-09-16
  • 打赏
  • 举报
回复
怪事!

俺的窗口处理程序这样写来处理WM_SYSCOMMAND:
HRESULT WINAPI MyWndProc(HWND h,UINT msg,WPARAM w,LPARAM l)
{
if(msg==WM_SYSCOMMAND)
switch(w){
case MENUID:

//do...
break;
case MENUIDMAIL:
ShellExecute(NULL,"open","mailto:kim-ryo@netease.com?subject:feedback_NetFairyCot","","",SW_SHOWNORMAL);
break;
case MENUIDHOME:
//do.......
break;
}

typedef int (_stdcall* TMPTYPE)();
TMPTYPE tmp;
tmp=(TMPTYPE)oldaddr;

return CallWindowProc(tmp,h,msg,w,l);
//return DefWindowProc(h,msg,w,l);
}



没有问题,可以正常处理。
dsli 2001-09-15
  • 打赏
  • 举报
回复
不行呀
kimryo 2001-09-15
  • 打赏
  • 举报
回复
应该是switch(wParam);吧!

case WM_COMMAND:
switch (wParam)
某鸟 2001-09-15
  • 打赏
  • 举报
回复
在“微软专区”!
转过去吧!@_@我太菜了!

69,322

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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