穿拖鞋的兔子 大约12小时前 平静 的说 翘课   沙漠★寂寞 11月30日 平静 的说 机电那伙人又开始分钱了,刚刚又赚了很,见者有份,速度去抢!!!   一千年胡杨 11月30日 平静 的说 我爱你   穿拖鞋的兔子 11月30日 平静 的说 鼻子冻的红红的,不想上校内   鲍豪斯 11月30日 平静 的说 机电那伙正在分钱..要的都去看要吧!!!   小鱼游 11月30日 悲伤 的说 俺消失咧将近一整天,都米有个人想我   zdk6105 11月30日 无聊 的说 风好大,期待一场雪:天好冷,渴望一场爱   jacky200247 11月30日 平静 的说 输入要叽歪的内容_   农水007 11月30日 平静 的说 不生气,不发火,我难过,她的世界就会崩溃,就算为了她吧!   zhl2008 11月29日 生气 的说 哪 个鸟人 把我的头衔 签名给我搞没了.真是太气人了.发个牢骚还要凑够5个帖子.不仁道的家伙,好想骂你.   [查看全部 448 条唧唧歪歪...]


打印

求助!为什么我的消息处理函数会出错?

引用:
下面是引用冬天的菠菜于2005-10-21 15:56发表的:
这是个回调函数
还要加CALLBACK
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM)
CALLBACK宏就是_stdcall的意思啊

TOP

你不说我还没注意
向你学习
这样我编译过了
画也成功了
小朋友挺厉害嘛
复制内容到剪贴板
代码:
#include "stdafx.h"
#include "math.h"
#include <windows.h>
#include <stdio.h>
// a.cpp : Defines the entry point for the application.
//



LRESULT _stdcall WndProc(HWND,UINT,WPARAM,LPARAM);



int APIENTRY WinMain(HINSTANCE hInstance,
          HINSTANCE hPrevInstance,
          LPSTR  lpCmdLine,
          int    nCmdShow)
{
    // TODO: Place code here.
        char szClassName[]="MainWClass";
    WNDCLASSEX wndclass;
    wndclass.cbSize=sizeof(wndclass);
    wndclass.style=CS_HREDRAW|CS_VREDRAW;
    wndclass.lpfnWndProc=WndProc;
    wndclass.cbClsExtra=0;
    wndclass.cbWndExtra=0;
    wndclass.hInstance=hInstance;
    wndclass.hIcon=::LoadIcon(NULL,IDI_APPLICATION);
    wndclass.hCursor=::LoadCursor(NULL,IDC_ARROW);
    wndclass.hbrBackground=(HBRUSH)::GetStockObject(WHITE_BRUSH);
    wndclass.lpszMenuName=NULL;
    wndclass.lpszClassName=szClassName;
    wndclass.hIconSm=NULL;
    ::RegisterClassEx(&wndclass);
    HWND hwnd=::CreateWindowEx(0,szClassName,"My first Window!",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);
    if(hwnd==NULL)
    {
        ::MessageBox(NULL,"创建窗口出错!","error",MB_OK);
        return -1;
    }
    ::ShowWindow(hwnd,nCmdShow);
    ::UpdateWindow(hwnd);
    MSG msg;
    while(::GetMessage(&msg,NULL,0,0))
    {
        ::TranslateMessage(&msg);
        ::DispatchMessage(&msg);
    }
    return msg.wParam;
}

LRESULT _stdcall WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
{
#define SEGMENTS 500
#define PI 3.1415926
    HDC hdc;
    PAINTSTRUCT ps;
    RECT rt;
    int cxClient,cyClient;
    POINT pt[SEGMENTS];
    int i;
    switch(message)
    {
    case WM_PAINT:
        hdc=::BeginPaint(hWnd,&ps);
        ::GetClientRect(hWnd,&rt);
        cxClient=rt.right-rt.left;
        cyClient=rt.bottom-rt.top;
        ::MoveToEx(hdc,0,cyClient/2,NULL);
        ::LineTo(hdc,cxClient,cyClient/2);
        for(i=0;i<SEGMENTS;i++)
        {
//            pt[i].x=cxClient*i/SEGMENTS;
//            pt[i].y=(int)((cyClient/2)*(1-sin(2*PI*i/SEGMENTS)));
        }
        ::Polyline(hdc,pt,SEGMENTS);
        ::EndPaint(hWnd,&ps);
        break;
    case WM_DESTROY:
        ::PostQuitMessage(0);
        break;
    }
    return ::DefWindowProc(hWnd,message,wParam,lParam);
}
http://blog.csdn.net/thisisll/ http://spaces.msn.com/thisisll/

TOP

呵呵,刚才在一个朋友的机子上也弄出来了,估计我的vc环境有问题~~~~~
还有,别叫我小朋友啊,虽然是初学者,但我也大三了~~以后又不懂的还得请菠菜多多指教! [s:14]

TOP