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

📄 13-1.txt

📁 C++完美演绎 经典算法 如 /* 头文件:my_Include.h */ #include <stdio.h> /* 展开C语言的内建函数指令 */ #define PI 3.141
💻 TXT
字号:
/* 范例:13-1 */
#include <windows.h>
#include <vcl.h>
long CALLBACK WindowProc(HWND hWnd, UINT message, \
WPARAM wParam, LPARAM lParam);
int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE \
hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
  WNDCLASS WindowClass;	// 建立WNDCLASS结构变量
  static char szAppName[] = "OFWin"; // 定义 window class 名称
  HWND hWnd;   		// 窗口代码(HWND结构变量hWnd)
  MSG msg;				// 信息结构(MSG结构变量msg)

  if(!hPrevInstance)
  {
    	// 若窗口改变大小时,重绘窗口
    WindowClass.style = CS_HREDRAW | CS_VREDRAW;
    	// 定义处理信息的窗口程序(Window procedure)
    WindowClass.lpfnWndProc = WindowProc;

    WindowClass.cbClsExtra = 0; 	// 类结构中所保留的额外空间
    WindowClass.cbWndExtra = 0;	// 窗口结构中所保留的额外空间

    WindowClass.hInstance = hInstance;	// 应用程序代码
    	// 设定应用程序默认Icon
    WindowClass.hIcon = LoadIcon(0, IDI_APPLICATION);
    	// 将窗口光标设成标准箭头
    WindowClass.hCursor = LoadCursor(0, IDC_ARROW);

    	// 设定背景画刷(brush)颜色为灰色笔刷
    WindowClass.hbrBackground =  \
       static_cast<HBRUSH>(GetStockObject(GRAY_BRUSH));
   		// 指定到class menu的资源名称,此处未使用菜单,
		// 因此无相对应资源名称
    WindowClass.lpszMenuName = 0;
    WindowClass.lpszClassName = szAppName;	// 设定结构名称
    RegisterClass(&WindowClass);  			// 注册此window class
  }
  //  建立窗口
  hWnd = CreateWindow(
          szAppName,   				// 已注册的window class名称
          "A Basic Window the Hard Way", 	// 窗口标题
          WS_OVERLAPPEDWINDOW, 		// 设定窗口为重叠显示
          CW_USEDEFAULT,				// 窗口在screen左上角x位置
          CW_USEDEFAULT,  			// 窗口在screen左上角y位置
          CW_USEDEFAULT,  			// 窗口水平大小
          CW_USEDEFAULT,  			// 窗口垂直大小
          0,          					// 表示无父窗口
          0,           				// 没有Menu
          hInstance,    				// 程序的代码
          0           				// 建立参数指针
        );

  ShowWindow(hWnd, nCmdShow); 		// 显示窗口
  UpdateWindow(hWnd); 		// 使文本工作区被着色

  // 信息循环
  while(GetMessage(&msg, 0, 0, 0) == TRUE)   // 获得所有信息
  {
    TranslateMessage(&msg); 	// 转换虚拟键信息成为字符信息
    DispatchMessage(&msg);		// 分配信息
  }

  return msg.wParam;  			// 返回Windows系统
}

long CALLBACK WindowProc(HWND hWnd, UINT message, \
                        WPARAM wParam, LPARAM lParam)
{
  HDC hDC;           		// Display context handle
  PAINTSTRUCT PaintSt; 	// 定义绘图区域的结构
  RECT aRect;     		// 工作矩形区域
  switch(message)   		// 处理信息
  {
    case WM_PAINT:  		// 重绘窗口时
      hDC = BeginPaint(hWnd, &PaintSt);	// 准备开始重绘

      // 获得工作区域
      GetClientRect(hWnd, &aRect);

      SetBkMode(hDC, TRANSPARENT);	// 设定文字背景模式

      // 在窗口工作区绘出文字
      DrawText(
        hDC,       		// 设备内容代码
        "改变窗口大小,字会跟着调整到中央咧!!", // 绘出的文字
        -1,     			// 指向以'\0'结尾字符串
        &aRect,			// 绘文字的矩形区域
        DT_SINGLELINE|  	// 文字格式 - 单行
        DT_CENTER|		//         - 线中间
        DT_VCENTER   	//         - 线在矩形中央
        );
      EndPaint(hWnd, &PaintSt);	// 窗口重绘结束
      return 0;

    case WM_DESTROY:    	// 窗口被关闭
      PostQuitMessage(0);	// 弹出WM_QUIT信息
      return 0;

    default:   	// 不处理的信息,交给系统自行处理
      return DefWindowProc(hWnd, message, wParam, lParam);
  }
}

⌨️ 快捷键说明

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