回 帖 发 新 帖 刷新版面

主题:哪位兄弟帮忙看一下一个窗口程序

#include<windows.h>
      LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
      int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
      {WNDCLASS wndclass;
      HWND hwnd;
      MSG msg;
      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="windows窗口创建";
      if(!RegisterClass(&wndclass))
          return FALSE;
      hwnd=CreateWindow("windows窗口创建","windws窗口创建",WS_OVERLAPPEDWINDOW,
          CW_USEDEFAULT,CW_USEDEFAULT,
          CW_USEDEFAULT,CW_USEDEFAULT,
          NULL,
          NULL,
          hInstance,
          NULL);
      ShowWindow(hwnd,nCmdShow);
      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)
      {switch(message){
          case WM_PAINT:
              HDC hdc;
              PAINTSTRUCT ps;
              hdc=BeginPaint(hwnd,&ps);
              TextOut(hdc,10,20,"哈哈,windows编程创建的窗口!",28);
              EndPaint(hwnd,&ps);
              return 0;
          case WM_DESTROY:
                  PostQuitMessage(0);
                  return 0;
                  }
      return DefWindowProc(hwnd,message,wParam,lParam);
      }

回复列表 (共1个回复)

沙发

解决办法:
1.进入project->setting->c/c++, 在category中选择preprocessor,在processor definitions中删除_CONSOLE, 添加_WINDOWS

2.进入project->setting->Link, 在Project options中将 /subsystem:console改为/subsystem:windows.

3.保存设置,Rebuild All.

我来回复

您尚未登录,请登录后再回复。点此登录或注册