zoukankan      html  css  js  c++  java
  • 《windows程序设计》文本输出(02)

    获取设备环境句柄:

    方法一:
    hdc  = BeginPaint(hwnd, &ps);
        //使用GDI函数
    EndPaint(hwnd, &ps);
    
    方法二:
    hdc = GetDc(hwnd);
        //使用GDI函数
    ReleaseDc(hwnd, hdc)

    代码如下:

    program Project2;
    
    {$APPTYPE CONSOLE}
    
    {$R *.res}
    
    uses
      System.SysUtils,
      windows,
      Winapi.Messages,
      Vcl.Dialogs;
    
    function WindowProc(hwnd: hwnd; uMsg: UINT; wParam: wParam; lParam: lParam): LRESULT; stdcall;
    var
      uHdc:HDC;
      ps:tagPAINTSTRUCT;
    begin
      case uMsg of
        WM_CREATE:
          begin
            //ShowMessage('窗口创建完成');
          end;
        WM_PAINT:
          begin
            uhdc:=BeginPaint(hwnd,ps);
            TextOut(uHdc,0,0,'hello world',11);
            EndPaint(hwnd,ps);
          end;
      end;
      result := DefWindowProc(hwnd, uMsg, wParam, lParam);
    end;
    
    var
      swndClass: tagWNDCLASS;
      message: MSG;
      mHwnd: hwnd;
    
    begin
      swndClass.cbClsExtra := 0; //窗口类扩展,无
      swndClass.cbWndExtra := 0; //窗口实例扩展
      swndClass.hbrBackground := COLOR_BACKGROUND; //窗口背景颜色黑色
      //LoadCursor()
      swndClass.hCursor := LoadCursor(0, IDC_ARROW); //窗口采用箭头光标
      swndClass.hIcon := LoadIcon(0, IDI_APPLICATION); //窗口最小化图标:采用缺省图标
      swndClass.hInstance := hInstance; //窗口实例句柄
      swndClass.lpfnWndProc := @WindowProc; //窗口处理函数
      swndClass.lpszClassName := 'myWnd'; //窗口类名
      swndClass.lpszMenuName := nil; //窗口菜单
      swndClass.style := CS_DBLCLKS; //窗口样式
      if RegisterClass(swndClass) = 0 then
      begin
        Writeln('windows class register error!');
        Exit;
      end;
    
      mHwnd := CreateWindowEx(0, 'myWnd', 'Delphi Windows', WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 544, 375, HWND_DESKTOP, 0, hInstance, 0);
    
      ShowWindow(mHwnd, SW_SHOW);
      UpdateWindow(mHwnd);
      while GetMessage(message, 0, 0, 0) do
      begin
        TranslateMessage(message);
        DispatchMessage(message);
      end;
    
      Readln;
    end.

     

  • 相关阅读:
    chaos —— 混沌
    《菊与刀》original 的阅读
    《菊与刀》original 的阅读
    十六进制(二进制)编辑器
    十六进制(二进制)编辑器
    Hopfield 神经网络及稳态性的证明
    Hopfield 神经网络及稳态性的证明
    OpenGL(一)绘制圆、五角星、正弦曲线
    NYOJ 8 一种排序(comparator排序)
    oc 第五天(内存管理)
  • 原文地址:https://www.cnblogs.com/YiShen/p/9744565.html
Copyright © 2011-2022 走看看