注册 登录
编程论坛 VC++/MFC

一个窗口问题,求帮助fatal error LNK1120: 1 unresolved externals

一个人的孤独 发布于 2012-12-03 15:12, 447 次点击
#include<windows.h>
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine,int iCmdShow){
    static TCHAR szAppName[]=TEXT("HelloWin");
    HWND hwnd;
    MSG msg;
    WNDCLASS wndclass;
    //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.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);//白色背景
    wndclass.lpszMenuName=NULL;
    wndclass.lpszClassName=szAppName;//本窗口类的名字
    RegisterClass(&wndclass);//注册窗口
    //一个窗口被定义后,只有用RegisterClass登记之后才能应用。下面的CreateWindow命令
    //将用上面登记的wndclass窗口类建立一个窗口,并用hwnd窗口句柄标识
    //该窗口,该句柄可被其他的程序其他的语句所引用
    hwnd=CreateWindow(szAppName,//窗口类型
        TEXT("The Hello Program"),//  窗口标题
        WS_OVERLAPPEDWINDOW,//窗口类型
        CW_USEDEFAULT,//窗口左上角Y坐标为默认值
        CW_USEDEFAULT,//窗口左上角X坐标为默认值
        CW_USEDEFAULT,//窗口宽度为默认值
        CW_USEDEFAULT,//窗口高度为默认值
        NULL,//该窗口没有默认父窗口
        NULL,//该窗口没有菜单
        hInstance,//创建本窗口的句柄
        NULL//系统保留参数
        );
    ShowWindow(hwnd,iCmdShow);//显示窗口,hwnd代表上面建立的窗口
    UpdateWindow(hwnd);//更新窗口绘制窗口客服区
    while(GetMessage(&msg,NULL,0,0)){//消息循环
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,//窗口函数定义
                         WPARAM wParam,LPARAM lParam){
    HDC hdc;
    PAINTSTRUCT ps;
    RECT rect;
    switch(message){
    case WM_CREATE:
        return 0;
    case WM_PAINT:
        hdc=BeginPaint(hwnd,&ps);
        GetClientRect(hwnd,&rect);
        DrawText(hdc,"Hello,我的第一个c++窗口",-1,&rect,
            DT_SINGLELINE|DT_CENTER|DT_VCENTER);
        EndPaint(hwnd,&ps);
        return 0;
    case WM_DESTROY:
        PostQuitMessage(0);
        return 0;
    }
    return DefWindowProc(hwnd,message,wParam,lParam);
}

long FAR PASCAL WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)  //增加WindowProc函数的实现
{
 return DefWindowProc(hWnd, uMsg, wParam, lParam);
}
4 回复
#2
Nitpicker2012-12-03 17:22
遇到过,不知怎么解决,帮顶
#3
xh13225793292012-12-04 11:56
http://blog. 入口错了
#4
一个人的孤独2012-12-06 08:53
谢谢了,我把那工程该过来了,没有错误了,也可以运行了,
可是,没有窗口显示出来,不知到怎么回事?
#5
RebelRebel2013-04-08 21:44
刚刚遇到,可还是没解决
1