quynhbkhn quynhbkhn Author
Title: [WIN32] - Bài 1 - Tạo cửa sổ đầu tiên
Author: quynhbkhn
Rating 5 of 5 Des:
Ứng   dụng   đầu   tiên   1 .   Tạo   project Mở visual studio 2010 và tạo 1 project mới, đặt tên tùy bạn: bạn click vào đây để xen thêm...
Ứng dụng đầu tiên 1. Tạo project
open vistual
  • Tạo mới 1 file cpp và viết code cho file này:
tao vistual
tao visutal tt
#include <windows.h> 
#define WINDOW_HEIGHT 400 
#define WINDOW_WITH 600
const char g_szClassName[] = "myWindowClass";

// Step 4: the Window Procedure
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) 
{
 switch(msg) 
 {
    case WM_CLOSE: 
       DestroyWindow(hwnd);
break;
    case WM_DESTROY: 
       PostQuitMessage(0);
    break; 
    default:
         return DefWindowProc(hwnd, msg, wParam, lParam); 
 }
   return 0; 
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow) 
{
  WNDCLASSEX wc; 
  HWND hwnd;
  MSG Msg;

//Step 1: Registering the Window Class wc.cbSize= sizeof(WNDCLASSEX); 
      wc.style= 0;
      wc.lpfnWndProc = WndProc;
      wc.cbClsExtra= 0; 
      wc.cbWndExtra= 0; 
      wc.hInstance=hInstance;
      wc.hIcon=LoadIcon(NULL,IDI_APPLICATION); 
      wc.hCursor=LoadCursor(NULL, IDC_ARROW); 
      wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); 
      wc.lpszMenuName = NULL;
      wc.lpszClassName = g_szClassName;
      wc.hIconSm=LoadIcon(NULL, IDI_APPLICATION);

      if(!RegisterClassEx(&wc)) 
      {
        MessageBox(NULL, "Window Registration Failed!", "Error!", 
       MB_ICONEXCLAMATION | MB_OK);
       return 0; 
      }

// Step 2: Creating the Window 
   hwnd = CreateWindowEx(
  WS_EX_CLIENTEDGE, 
  g_szClassName,
    "The title of my window", 
  WS_OVERLAPPEDWINDOW,
     CW_USEDEFAULT, CW_USEDEFAULT, WINDOW_WITH,WINDOW_HEIGHT, 
  NULL, NULL, hInstance, NULL);
if(hwnd == NULL) 
  {
   MessageBox(NULL, "Window Creation Failed!", "Error!",
    MB_ICONEXCLAMATION | MB_OK);
    return 0; 
   }

 ShowWindow(hwnd, nCmdShow); 
 UpdateWindow(hwnd);

// Step 3: The Message Loop 
  while(GetMessage(&Msg, NULL, 0, 0) > 0) 
 {
TranslateMessage(&Msg); DispatchMessage(&Msg);
}
return Msg.wParam; 

CÁC BẠN XEM THÊM TẠI :http://hocccoban.org/2015/05/03/tao-cua-so-dau-tien-trong-win-32.html

About Author

Advertisement

Post a Comment

 
Top