博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《windows程序设计》打印一页文本(06)
阅读量:4612 次
发布时间:2019-06-09

本文共 2085 字,大约阅读时间需要 6 分钟。

代码如下:

program Project2;{
$APPTYPE CONSOLE}{
$R *.res}uses System.SysUtils, windows, Winapi.Messages, Vcl.Dialogs;var swndClass: tagWNDCLASS; message: MSG; mHwnd: hwnd; cxChar, cyChar: Integer; cxClient, cyClient: Integer;function WindowProc(hwnd: hwnd; uMsg: UINT; wParam: wParam; lParam: lParam): LRESULT; stdcall;var i:integer; uHdc: HDC; ps: tagPAINTSTRUCT; tm: tagTEXTMETRIC; str: string;begin case uMsg of WM_CREATE: begin {
获取窗口尺寸} cxclient := GetSystemMetrics(SM_CXSCREEN); cyclient := GetSystemMetrics(SM_CYSCREEN); {
获取文本尺寸} uHdc := GetDC(hwnd); GetTextMetrics(uHdc, tm); ReleaseDC(hwnd, uHdc); cxChar := tm.tmAveCharWidth; cyChar := tm.tmHeight + tm.tmExternalLeading; end; WM_PAINT: begin uHdc := BeginPaint(hwnd, ps); for i := 0 to 100 do begin str:='Hello world num:' + i.ToString; TextOut(uHdc,0,i*cychar,PWideChar(str),Length(str)); end; EndPaint(hwnd, ps); end; end; result := DefWindowProc(hwnd, uMsg, wParam, lParam);end;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.

 

转载于:https://www.cnblogs.com/YiShen/p/9745397.html

你可能感兴趣的文章
深入理解PHP中的引用和赋值
查看>>
Shell父进程获取子进程的变量值
查看>>
BOM——检测浏览器
查看>>
Hanoi塔问题——递归
查看>>
高斯 到 正态分布 的前世今生
查看>>
for 循环遍历字典中的键值两种方法
查看>>
计算客 商品推荐走马灯(简单)(求区间全部连续的回文串价值)
查看>>
IOS 'NSInternalInconsistencyException'
查看>>
vim安装ctags,taglist和Pydiction
查看>>
机器学习系列之EM算法
查看>>
Time.timeScale 对 协程WaitForSeconds的影响
查看>>
Java并发编程-CAS
查看>>
SQL Server 2008的备份和日志收缩
查看>>
sqlserver数据库数据字典生成器
查看>>
iOS经典面试题 (一)
查看>>
Linux : 从私钥中提取公钥
查看>>
Quartz.Net分布式任务管理平台
查看>>
58同城2018提前批前端笔试题总结
查看>>
compilation与编译
查看>>
useradd mfs -s /sbin/nologin -M
查看>>