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

请指点


...全文
135 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
  • 打赏
  • 举报
回复
在“微软专区”!
转过去吧!@_@我太菜了!
内容概要:本文围绕可变桨叶四旋翼无人机的规范控制与点对点运动模拟展开,重点研究优化推力分配策略在翻转动作中的应用与性能比较。通过Matlab代码实现,构建了四旋翼动力学模型,并设计了多种控制算法以实现精确的姿态调整与轨迹跟踪。研究对比了不同推力分配方案在执行高机动性翻转动作时的稳定性、能耗效率与响应速度,旨在提升无人机在复杂飞行任务中的动态性能与控制精度。该仿真研究为无人机飞控系统的设计与优化提供了理论依据和技术支持。; 适合人群:具备一定自动控制理论基础和Matlab编程能力,从事无人机控制、飞行器动力学或机器人系统研究的科研人员及研究生。; 使用场景及目标:① 实现四旋翼无人机在三维空间中的精确点对点运动控制;② 对比分析不同推力分配策略在执行翻转等高难度动作时的控制效果与能耗表现,优化飞行性能;③ 为无人机自主飞行、特技飞行及复杂环境下的机动控制提供算法验证平台。; 阅读建议:此资源以Matlab仿真为核心,建议读者结合相关控制理论知识,深入理解代码实现细节,重点关注动力学建模、控制律设计与推力分配模块。在学习过程中,应动手调试参数,复现文中翻转动作的仿真结果,并尝试拓展至其他复杂飞行任务,以加深对无人机控制机理的理解。

70,038

社区成员

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

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