⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 win.c

📁 Windows下串口通信C++源代码!
💻 C
字号:
#include <windows.h>

LPCTSTR lpszAppName = TEXT( "MyApp" );
LPCTSTR lpszTitle = TEXT( "我的应用软件" ); 

LRESULT CALLBACK WndProc ( HWND, UINT, WPARAM, LPARAM );

int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
                      LPTSTR lpCmdLine, int nCmdShow )
{
   MSG      msg;
   HWND     hWnd; 
   WNDCLASS wc;

   // Register the main application window class.
   //............................................
   wc.style         = CS_HREDRAW | CS_VREDRAW;
   wc.lpfnWndProc   = (WNDPROC)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  = lpszAppName;              
   wc.lpszClassName = lpszAppName;              
  

   if ( !RegisterClass( &wc ) )
      return( FALSE );

  
   // Create the main application window.
   //....................................
   hWnd = CreateWindow( lpszAppName, 
                        lpszTitle,    
                        WS_OVERLAPPEDWINDOW, 
                        CW_USEDEFAULT, 0, 
                        CW_USEDEFAULT, 0,  
                        NULL,              
                        NULL,              
                        hInstance,         
                        NULL               
                      );

   if ( !hWnd ) 
      return( FALSE );

   ShowWindow( hWnd, nCmdShow ); 
   UpdateWindow( hWnd );         

   while( GetMessage( &msg, NULL, 0, 0) )   
   {
      TranslateMessage( &msg ); 
      DispatchMessage( &msg );  
   }

   return( msg.wParam ); 
}

// ******************************************************************
//    窗口过程函数
// ******************************************************************

LRESULT CALLBACK WndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam )
{
  
   switch( uMsg ) {

      static int uRed = 0, uGreen = 0, uBlue = 0;
      RECT rect;
      HDC hdc;
      PAINTSTRUCT ps;

      case WM_PAINT :

         hdc = BeginPaint(hWnd, &ps);
         GetClientRect( hWnd, &rect);
         SetTextColor( hdc, RGB(uRed, uGreen, uBlue));
         DrawText (hdc, TEXT ("bcc32 -tW win.c"), -1, &rect,
                   DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;
         EndPaint(hWnd, &ps);
	 	   break;

      case WM_LBUTTONDOWN :
         uRed = rand() % 255;
         uGreen = rand() % 255;
         uBlue = rand() % 255;
         InvalidateRect(hWnd, NULL, TRUE);
         break;

      case WM_RBUTTONUP :
         PostQuitMessage(0);
         break;

      case WM_DESTROY :
         PostQuitMessage(0);
         break;

      default :
         return( DefWindowProc( hWnd, uMsg, wParam, lParam ) );
   }

   return( 0L );
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -