《C/C++程序员实用大全》配套代码,适用初学C++的人员。

源代码在线查看: genstub.cpp

软件大小: 608 K
上传用户: yyyz
关键词: 程序员 代码
下载地址: 免注册下载 普通下载 VIP

相关代码

				#include 
				
				#if defined (WIN32)
					#define IS_WIN32 TRUE
				#else
					#define IS_WIN32 FALSE
				#endif
				
				#define IS_NT      IS_WIN32 && (BOOL)(GetVersion() < 0x80000000)
				#define IS_WIN32S  IS_WIN32 && (BOOL)(!(IS_NT) && (LOBYTE(LOWORD(GetVersion()))				#define IS_WIN95   (BOOL)(!(IS_NT) && !(IS_WIN32S)) && IS_WIN32
				
				HINSTANCE hInst;   // current instance
				
				LPCTSTR lpszAppName  = "MyApp";
				LPCTSTR lpszTitle    = "My Application"; 
				
				BOOL RegisterWin95( CONST WNDCLASS* lpwc );
				
				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( hInstance, lpszAppName ); 
				   wc.hCursor       = LoadCursor(NULL, IDC_ARROW);
				   wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
				   wc.lpszMenuName  = lpszAppName;              
				   wc.lpszClassName = lpszAppName;              
				
				   if ( IS_WIN95 )
				   {
				      if ( !RegisterWin95( &wc ) )
				         return( FALSE );
				   }
				   else if ( !RegisterClass( &wc ) )
				      return( FALSE );
				
				   hInst = hInstance; 
				
				   // 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 ); 
				}
				
				
				BOOL RegisterWin95( CONST WNDCLASS* lpwc )
				{
				   WNDCLASSEX wcex;
				
				   wcex.style         = lpwc->style;
				   wcex.lpfnWndProc   = lpwc->lpfnWndProc;
				   wcex.cbClsExtra    = lpwc->cbClsExtra;
				   wcex.cbWndExtra    = lpwc->cbWndExtra;
				   wcex.hInstance     = lpwc->hInstance;
				   wcex.hIcon         = lpwc->hIcon;
				   wcex.hCursor       = lpwc->hCursor;
				   wcex.hbrBackground = lpwc->hbrBackground;
				   wcex.lpszMenuName  = lpwc->lpszMenuName;
				   wcex.lpszClassName = lpwc->lpszClassName;
				
				   // Added elements for Windows 95.
				   //...............................
				   wcex.cbSize = sizeof(WNDCLASSEX);
				   wcex.hIconSm = LoadImage(wcex.hInstance, lpwc->lpszClassName, 
				                            IMAGE_ICON, 16, 16,
				                            LR_DEFAULTCOLOR );
							
				   return RegisterClassEx( &wcex );
				}
				
				LRESULT CALLBACK About( HWND hDlg,
				                        UINT message,
				                        WPARAM wParam,
				                        LPARAM lParam)
				{
				   switch (message)
				   {
				       case WM_INITDIALOG:
				               return (TRUE);
				
				       case WM_COMMAND:                              
				               if (   LOWORD(wParam) == IDOK         
				                   || LOWORD(wParam) == IDCANCEL)    
				               {
				                       EndDialog(hDlg, TRUE);        
				                       return (TRUE);
				               }
				               break;
				   }
				
				   return (FALSE); 
				}
							

相关资源