找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 580|回复: 5

这个程序好郁闷啊

[复制链接]
发表于 2009-11-3 23:53:54 | 显示全部楼层 |阅读模式 IP:江苏扬州
我今天上网看到这了个程序 怎么看也看不懂 好像和老谭书上写的都不一样 这是C++吗?
如果是老谈的书到底教的是什么啊 怎么这个都看不懂啊
#include <windows.h>
#include <windowsx.h>
#include "main.h"
#include "dialogs.h"
#include "resource.h"
BOOL WINAPI Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch(uMsg)
{
//BEGIN MESSAGE CRACK
HANDLE_MSG(hWnd, WM_INITDIALOG, Main_OnInitDialog);
HANDLE_MSG(hWnd, WM_COMMAND, Main_OnCommand);
HANDLE_MSG(hWnd,WM_CLOSE, Main_OnClose);
//END MESSAGE CRACK
}
return FALSE;
}
////////////////////////////////////////////////////////////////////////////////
// Main_OnInitDialog
BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam)
{
// Set app icons
HICON hIcon = LoadIcon((HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE) ,MAKEINTRESOURCE(IDI_ICONAPP));
SendMessage(hwnd, WM_SETICON, TRUE, (LPARAM)hIcon);
SendMessage(hwnd, WM_SETICON, FALSE, (LPARAM)hIcon);

//
// Add initializing code here
//

return TRUE;
}
////////////////////////////////////////////////////////////////////////////////
// Main_OnCommand
void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
{
switch(id)
{
case IDC_OK:
MessageBox(hwnd,"You click OK!","DlgApp",MB_OK);
EndDialog(hwnd, id);
break;
case IDC_CANCEL:
MessageBox(hwnd,"You click Cancel!","DlgApp",MB_OK);
EndDialog(hwnd, id);
break;
default:break;
}
}
////////////////////////////////////////////////////////////////////////////////
// Main_OnClose
void Main_OnClose(HWND hwnd)
{
EndDialog(hwnd, 0);
}
发表于 2009-11-3 23:53:55 | 显示全部楼层 IP:江苏扬州
没人知道吗 不会吧 还是这个问题太BT了啊
我真的不懂啊 为什么 为什么
回复

使用道具 举报

发表于 2009-11-3 23:53:56 | 显示全部楼层 IP:江苏扬州
是的,不过用标准窗口罢了
回复

使用道具 举报

发表于 2009-11-3 23:53:57 | 显示全部楼层 IP:江苏扬州
建议看一下windows图形编程里面有几个这样的例程
回复

使用道具 举报

发表于 2009-11-3 23:53:59 | 显示全部楼层 IP:江苏扬州
switch(uMsg)
{
//BEGIN MESSAGE CRACK
HANDLE_MSG(hWnd, WM_INITDIALOG, Main_OnInitDialog);
HANDLE_MSG(hWnd, WM_COMMAND, Main_OnCommand);
HANDLE_MSG(hWnd,WM_CLOSE, Main_OnClose);
//END MESSAGE CRACK
}

按格式 不是应该是
switch(?)
{ case ? : ???
case ? : ???
.
.
.
}
而它怎么连case都没有了啊
回复

使用道具 举报

发表于 2009-11-3 23:54:01 | 显示全部楼层 IP:江苏扬州
MFC编程中如果碰到大写的定义一般都是宏定义,可以直接查询MFC的头文件,你所举的switch中其实是有case的:
#define HANDLE_MSG(hwnd, message, fn) \
case (message): return HANDLE_##message((hwnd), (wParam), (lParam), (fn))
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-30 19:32 , Processed in 0.242194 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表