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

📄 main.cpp

📁 VC实验: 一.实验名称:基本文字应用的程序设计 二.实验目的:掌握文字及其属性在应用程序中的应用 三.实验任务: &#61548 掌握字体句柄的获取 &#61548 掌握创建自定义字体
💻 CPP
字号:


#include <windows.h>


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

 

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,

                    PSTR szCmdLine, int iCmdShow)

{

     static TCHAR szAppName[] = TEXT ("HelloWin") ;

     HWND         hwnd ;

     MSG          msg ;

     WNDCLASS     wc ;

 

     wc.style         = CS_HREDRAW | CS_VREDRAW ;

     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) GetStockObject (WHITE_BRUSH) ;

     wc.lpszMenuName  = NULL ;

     wc.lpszClassName = szAppName ;

 


     if (!RegisterClass (&wc))

     {

          MessageBox (NULL, TEXT ("This program requires Windows NT!"), 

                      szAppName, MB_ICONERROR) ;

          return 0 ;

     }

     hwnd = CreateWindow (szAppName,                  

                          TEXT ("VC++实验二!"), 

                          WS_OVERLAPPEDWINDOW,        
                          CW_USEDEFAULT,              

                          CW_USEDEFAULT,              

                          CW_USEDEFAULT,              

                          CW_USEDEFAULT,              
                          NULL,                       

                          NULL,                       
                          hInstance,                  

                          NULL) ;                     
     

     ShowWindow (hwnd, iCmdShow) ;

     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)

{

     HDC         hdc ;

     PAINTSTRUCT ps ;

     RECT        rect ;

     HFONT hF_song,hF_fang,hF_black;
     TEXTMETRIC tm;
	 int x=400,y=100,n=0;
     switch (message)

     {

    

     case WM_PAINT:

          hdc = BeginPaint (hwnd, &ps) ;
          
		  
          hF_song=CreateFont
			   (
			   20,
			   0,
			   0,
			   0,
			   FW_NORMAL,
			   0,
			   0,
			   0,
			   GB2312_CHARSET,
			   OUT_DEFAULT_PRECIS,
			   CLIP_DEFAULT_PRECIS,
			   DEFAULT_QUALITY,
			   DEFAULT_PITCH|FF_DONTCARE,
			   "宋体"
			   );
              hF_black=CreateFont
			   (
			   20,
			   0,
			   0,
			   0,
			   FW_HEAVY,
			   0,
			   0,
			   0,
			   GB2312_CHARSET,
			   OUT_DEFAULT_PRECIS,
			   CLIP_DEFAULT_PRECIS,
			   DEFAULT_QUALITY,
			   DEFAULT_PITCH|FF_DONTCARE,
			   "楷体"
			   
			   );
			  hF_fang=CreateFont
			   (
			   20,
			   0,
			   0,
			   0,
			   FW_NORMAL,
			   1,
			   0,
			   0,
			   GB2312_CHARSET,
			   OUT_DEFAULT_PRECIS,
			   CLIP_DEFAULT_PRECIS,
			   DEFAULT_QUALITY,
			   DEFAULT_PITCH|FF_DONTCARE,
			   "仿宋体"
			   
			   );
			hF_fang=CreateFont
			   (
			   20,
			   0,
			   0,
			   0,
			   FW_NORMAL,
			   1,
			   0,
			   0,
			   GB2312_CHARSET,
			   OUT_DEFAULT_PRECIS,
			   CLIP_DEFAULT_PRECIS,
			   DEFAULT_QUALITY,
			   DEFAULT_PITCH|FF_DONTCARE,
			   "黑体"
			   
			   );
			      
				  while(x>30)
			  {
				  SetTextColor(hdc,RGB(255,255,255));
				  TextOut(hdc,x,y,"VC++作业实验二(计算机033宋海涛)",strlen("VC++作业实验二(计算机033宋海涛)"));
				  Sleep(500);
				  x=x-30;
				 
				  SetTextColor(hdc,RGB(255,0,0));
				  GetTextMetrics(hdc,&tm);
				  SelectObject(hdc,&hF_song);
				  TextOut(hdc,x,y,"VC++作业实验二(计算机033宋海涛)",strlen("VC++作业实验二(计算机033宋海涛)"));
			  }
				  SetTextColor(hdc,RGB(255,255,255));
				  TextOut(hdc,x,y,"VC++作业实验二(计算机033宋海涛)",strlen("VC++作业实验二(计算机033宋海涛)"));
				  x=400;
				   

				  while(x>30)
			  {
				  SetTextColor(hdc,RGB(255,255,255));
				  
				  TextOut(hdc,x,y,"VC++作业实验二(计算机033宋海涛)",strlen("VC++作业实验二(计算机033宋海涛)"));
				  Sleep(500);
				  x=x-30;
				  SetTextColor(hdc,RGB(0,255,0));
				 GetTextMetrics(hdc,&tm);
				  SelectObject(hdc,&hF_black);
				  TextOut(hdc,x,y,"VC++作业实验二(计算机033宋海涛)",strlen("VC++作业实验二(计算机033宋海涛)"));
			  }
				  SetTextColor(hdc,RGB(255,255,255));
				  TextOut(hdc,x,y,"VC++作业实验二(计算机033宋海涛)",strlen("VC++作业实验二(计算机033宋海涛)"));
				  x=400;
				  
				    while(x>30)
			  {
				  SetTextColor(hdc,RGB(255,255,255));
				  TextOut(hdc,x,y,"VC++作业实验二(计算机033宋海涛)",strlen("VC++作业实验二(计算机033宋海涛)"));
				  Sleep(500);
				  x=x-30;
				  SetTextColor(hdc,RGB(255,255,0));
				  GetTextMetrics(hdc,&tm);
				  SelectObject(hdc,&hF_fang);
				  TextOut(hdc,x,y,"VC++作业实验二(计算机033宋海涛)",strlen("VC++作业实验二(计算机033宋海涛)"));
			  }
				  SetTextColor(hdc,RGB(255,255,255));
				  TextOut(hdc,x,y,"VC++作业实验二(计算机033宋海涛)",strlen("VC++作业实验二(计算机033宋海涛)"));
				  x=400; 
				    while(x>30)
			  {
				  SetTextColor(hdc,RGB(255,255,255));
				  TextOut(hdc,x,y,"VC++作业实验二(计算机033宋海涛)",strlen("VC++作业实验二(计算机033宋海涛)"));
				  Sleep(500);
				  x=x-30;
				  SetTextColor(hdc,RGB(0,0,255));
				  GetTextMetrics(hdc,&tm);
				  SelectObject(hdc,&hF_fang);
				  TextOut(hdc,x,y,"VC++作业实验二(计算机033宋海涛)",strlen("VC++作业实验二(计算机033宋海涛)"));
			  }
				  SetTextColor(hdc,RGB(255,255,255));
				  TextOut(hdc,x,y,"VC++作业实验二(计算机033宋海涛)",strlen("VC++作业实验二(计算机033宋海涛)"));
				  x=400;

          EndPaint (hwnd, &ps) ;

          return 0 ;

          

     case WM_DESTROY:

          PostQuitMessage (0) ;

          return 0 ;

     }

     return DefWindowProc (hwnd, message, wParam, lParam) ;

}

⌨️ 快捷键说明

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