title: win32 scrollbar in not working in C/C++ program
body: <p><a href="https://i.stack.imgur.com/ge7yT.png" rel="nofollow noreferrer">win32 scrollbar in not working screenshot</a></p>
  
  <p>Win32 scrollbar in not working. This is my code in win32 C/C++</p>
  
  <pre><code>#include &lt;windows.h&gt;
  #include &lt;stdio.h&gt;
  
  
  /*  Declare Windows procedure  */
  LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
  HWND text, text2, button, mm;
  HMENU hmenu;
  void AddMenus(HWND);
  char textsave[20];
  
  
  
  /*  Make the class name into a global variable  */
  char szClassName[ ] ="CodeBlocksWindowsApp";
  
  int WINAPI WinMain (HINSTANCE hThisInstance,
                       HINSTANCE hPrevInstance,
                       LPSTR lpszArgument,
                       int nCmdShow)
  {
  HWND hwnd;               /* This is the handle for our window */
  MSG messages;            /* Here messages to the application are saved */
  WNDCLASSEX wincl;        /* Data structure for the windowclass */
  
  /* The Window structure */
  wincl.hInstance = hThisInstance;
  wincl.lpszClassName = szClassName;
  wincl.lpfnWndProc = WindowProcedure;      /* This function is called by windows */
  wincl.style = CS_DBLCLKS;                 /* Catch double-clicks */
  wincl.cbSize = sizeof (WNDCLASSEX);
  
  /* Use default icon and mouse-pointer */
  wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
  wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
  wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
  wincl.lpszMenuName = NULL;                 /* No menu */
  wincl.cbClsExtra = 0;                      /* No extra bytes after the window class */
  wincl.cbWndExtra = 0;                      /* structure or the window instance */
  /* Use Windows's default colour as the background of the window */
  wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;
  
  /* Register the window class, and if it fails quit the program */
  if (!RegisterClassEx (&amp;wincl))
      return 0;
  
  /* The class is registered, let's create the program*/
  hwnd = CreateWindowEx (
         0,                   /* Extended possibilites for variation */
         szClassName,         /* Classname */
         "",       /* Title Text */
         WS_OVERLAPPEDWINDOW | WS_VSCROLL, /* default window */
         CW_USEDEFAULT,       /* Windows decides the position */
         CW_USEDEFAULT,       /* where the window ends up on the screen */
         544,                 /* The programs width */
         375,                 /* and height in pixels */
         HWND_DESKTOP,        /* The window is a child-window to desktop */
         NULL,                /* No menu */
         hThisInstance,       /* Program Instance handler */
         NULL                 /* No Window Creation data */
         );
  
  /* Make the window visible on the screen */
  ShowWindow (hwnd, nCmdShow);
  
  /* Run the message loop. It will run until GetMessage() returns 0 */
  while (GetMessage (&amp;messages, NULL, 0, 0))
  {
      /* Translate virtual-key messages into character messages */
      TranslateMessage(&amp;messages);
      /* Send message to WindowProcedure */
      DispatchMessage(&amp;messages);
  }
  
  /* The program return-value is 0 - The value that PostQuitMessage() gave */
  return messages.wParam;
  }
  
  
  
  /*  This function is called by the Windows function DispatchMessage()  */
  
  LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
  {
  switch (message)                  /* handle the messages */
  {
      case WM_CREATE:
  
          CreateWindow("EDIT", "jdslfkjssf\r\n\r\n\r\nflkjsdf\r\nflskdjfkl",
                              WS_VISIBLE | WS_CHILD | WS_BORDER | ES_MULTILINE | ES_AUTOVSCROLL,
                              20, 70, 490, 130, hwnd, NULL, NULL, NULL);
  
           CreateWindow("EDIT", "jdslfkjssf\r\n\r\n\r\nflkjsdf\r\nflskdjfkl",
                              WS_VISIBLE | WS_CHILD | WS_BORDER | ES_MULTILINE | ES_AUTOVSCROLL,
                              20, 270, 490, 230, hwnd, NULL, NULL, NULL);
  
  
  
          break;
  
      case WM_COMMAND:
  
          break;
  
  
      case WM_DESTROY:
          PostQuitMessage (0);       /* send a WM_QUIT to the message queue */
          break;
      default:                      /* for messages that we don't deal with */
          return DefWindowProc (hwnd, message, wParam, lParam);
  }
  
  
  
  return 0;
  }
  </code></pre>
  
  <p>The scrollbar is not working here. I want the scrollbar to be pulled down so that the rest of the bottom can be seen. How to write this code, will the scrollbar work?</p>