vs2013环境下,无法从"LRESULT(__stdcall*)转换为"WNDPROC""

刚开始学习VC++做界面,教材中第一个实例,就出错,该实例是编写一个窗口,代码如下:#include<Windows.h>#include<stdio.h>LRESULT... 刚开始学习VC++做界面,教材中第一个实例,就出错,该实例是编写一个窗口,代码如下:
#include <Windows.h>
#include <stdio.h>

LRESULT CALLBACK WinSunProc(
HWND hwnd,
UINT8 uMsg,
WPARAM wparam,
LPARAM lparam
);
int WINAPI WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow
)
{
WNDCLASS wndcls;
wndcls.cbClsExtra = 0;
wndcls.cbWndExtra = 0;
wndcls.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
wndcls.hCursor = LoadCursor(NULL, IDC_CROSS);
wndcls.hIcon = LoadIcon(NULL, IDI_ERROR);
wndcls.hInstance = hInstance;
wndcls.lpfnWndProc = WinSunProc; //这一行是出错行
wndcls.lpszClassName = "anc";
wndcls.lpszMenuName = NULL;
wndcls.style = CS_HREDRAW | CS_VREDRAW;
RegisterClass(&wndcls);

HWND hwnd;
hwnd = CreateWindow("anc", "http://www.sunxin.org", WS_OVERLAPPED, 0, 0, 600, 400, NULL, NULL, hInstance, NULL);

ShowWindow(hwnd, SW_SHOWNORMAL);
UpdateWindow(hwnd);

MSG msg;
while (GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;

}

说WinSunPro这个变量是LRESULT类型,无法转换为WNDPROC,我使用的开发环境是VS2013.
顺便吐槽一下:这些个写书的作者,脑袋是被驴踢了么?你要写书你就写详细一点,把新手刚开始经常会遇到的问题讲清楚并给出解决方案,照着源代码原封不动写下来还是这B样子,你说换做是你,特么本来满怀着热情买你的书来学习,结果第一个实例就怎么也解决不了,你特么是什么心情!孙鑫-<<VC++深入详解>>无限鄙视↓
展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励30(财富值+成长值)
热情的一念三千
2015-01-14
知道答主
回答量:5
采纳率:0%
帮助的人:6606
展开全部
写个函数定义:
LRESULT CALLBACK WinSunProc(
HWND hwnd,
UINT8 uMsg,
WPARAM wparam,
LPARAM lparam
)
{
...
return TRUE;

}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式