恋空 发表于 2011-6-12 00:53:35

第一次编写Hello World的问题

在NewQoMobileSDK的环境中编写如下代码:#include <Windows.h>
#include <wingdi.h>

LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);

int WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPWSTR lpCmdLine,int nShowCmd)
{
        //1、创建一个窗体类对象
        WNDCLASSW ws;
        ws.cbClsExtra    = 0;
        ws.cbWndExtra    = 0;
        ws.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
        ws.hCursor       = NULL;
        ws.hIcon         = NULL;
        ws.hInstance   = hInstance;
        ws.lpfnWndProc   = WndProc;
        ws.lpszClassName = TEXT("hello world");
        ws.lpszMenuName= NULL;
        ws.style         = CS_VREDRAW | CS_HREDRAW;

        //2、注册窗体类
        if (! RegisterClass(&ws))
        {
                return -1;
        }

        //3、创建窗体
        HWND hwnd = CreateWindow(TEXT("hello world"),TEXT("My First Window"),WS_VISIBLE | WS_BORDER | WS_SYSMENU | WS_MAXIMIZEBOX | WS_MINIMIZEBOX | WS_CAPTION,
                10,10,400,300,
                NULL,NULL,hInstance,NULL);

        //4、更新并显示窗体内容
        UpdateWindow(hwnd);
        ShowWindow(hwnd,CS_VREDRAW | CS_HREDRAW);

        MSG msg;
        //5、获取系统消息
        while(GetMessage(&msg,NULL,0,0))
        {
                TranslateMessage(&msg);
                DispatchMessage(&msg);
        }

        return 1;
}

LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
        PAINTSTRUCT ps;
        HDC hdc;
        RECT rect;

        switch(message)
        {
        case WM_DESTROY:
                PostQuitMessage(1);
                break;
        case WM_PAINT:
                GetClientRect(hwnd,&rect);
                hdc = BeginPaint(hwnd,&ps);
                DrawText(hdc,TEXT("hello world"),-1,&rect,DT_VCENTER | DT_CALCRECT);
                EndPaint(hwnd,&ps);
                break;
        default:
                DefWindowProc(hwnd,message,wParam,lParam);
                break;
        }

        /*if(message == WM_DESTROY)
        {
                PostQuitMessage(1);
        }
        GetClientRect(hwnd,&rect);
        if (message == WM_PAINT)
        {
                hdc = BeginPaint(hwnd,&ps);
                DrawText(hdc,TEXT("hello world"),-1,&rect,DT_VCENTER | DT_CALCRECT);
                EndPaint(hwnd,&ps);
        }


        return DefWindowProc(hwnd,message,wParam,lParam);*/
        return 0;
}这是模拟器产生的结果:


就是不知道为什么不能和视频那样显示hello world
那位知道的指点一下,谢谢!
页: [1]
查看完整版本: 第一次编写Hello World的问题