博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Windows 编程[1] - 窗体生成的过程一
阅读量:5878 次
发布时间:2019-06-19

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

  hot3.png

本例效果图:
26153459_oLG6.png

新建一个控制台程序, 贴入下面代码即可运行:

program Project1;uses  Windows, Messages;{等待调用的过程, 用于在窗体上绘制文本}Procedure OnPaint(h: HDC);const  s = 'CodeGear Delphi 2007';begin  TextOut(h, 10, 10, PChar(s), Length(s));end;{窗口回调过程}function WndProc(wnd: HWND; msg: UINT; wParam: Integer; lParam: Integer): Integer; stdcall;var  Handle: HDC;  ps: PAINTSTRUCT;begin  case msg of    WM_PAINT: begin        Handle := BeginPaint(wnd, ps);        OnPaint(Handle);        EndPaint(wnd, ps);        result := 0;     end;    WM_DESTROY: begin        PostQuitMessage(0);        result := 0;      end;   else      Result := DefWindowProc(wnd, msg, wParam, lParam);   end;end;{主程序}var  hWnd       : THandle;  Msg        : TMsg;  MyWndClass : TWndClass;begin   MyWndClass.style         := CS_HREDRAW or CS_VREDRAW;   MyWndClass.lpfnWndProc   := @WndProc;   MyWndClass.cbClsExtra    := 0;   MyWndClass.cbWndExtra    := 0;   MyWndClass.hInstance     := HInstance;   MyWndClass.hIcon         := LoadIcon(0, IDI_QUESTION);   MyWndClass.hCursor       := LoadCursor(0, IDC_ARROW);   MyWndClass.hbrBackground := HBRUSH(GetStockObject(WHITE_BRUSH));   MyWndClass.lpszMenuName  := nil;   MyWndClass.lpszClassName := 'MyWindowClass';   RegisterClass(MyWndClass);   hWnd := CreateWindow('MyWindowClass', '这是窗口标题', WS_OVERLAPPEDWINDOW,      100, 100, 250, 150, 0, 0, HInstance, nil);   ShowWindow(hWnd, SW_SHOWNORMAL);   UpdateWindow(hWnd);   while(GetMessage(Msg, 0, 0, 0)) do   begin      TranslateMessage(Msg);      DispatchMessage(Msg);   end;end.
计划从这里出发, 了解更多底层的东西; 先弄明白这些代码吧!

转载于:https://my.oschina.net/hermer/blog/320027

你可能感兴趣的文章
DatanodeDescriptor说明
查看>>
ServlertContext
查看>>
eclipse编辑器生命周期事件监听
查看>>
Python WOL/WakeOnLan/网络唤醒数据包发送工具
查看>>
sizeof(long)
查看>>
pxe网络启动和GHOST网克
查看>>
ftp 虚拟用户的使用(安装)
查看>>
2.5-saltstack配置apache
查看>>
http状态响应码大全(复制转帖)
查看>>
django数据库中的时间格式与页面渲染出来的时间格式不一致的处理
查看>>
Python学习笔记
查看>>
java String
查看>>
renhook的使用
查看>>
Linux学习笔记(十二)--命令学习(用户创建、删除等)
查看>>
DOCKER windows 7 详细安装教程
查看>>
养眼美女绿色壁纸
查看>>
U盘启动盘制作工具箱 v1.0
查看>>
增强myEclipse的提示功能
查看>>
Zabbix汉化方法
查看>>
Java I/O系统基础知识
查看>>