NativeWindow_01
1、
“{$O-}”关闭优化
“{$O-}”打开优化
2、
unit NativeWindow; interface uses
Windows, Messages, SysUtils; procedure CreateWindow; implementation function ProcWindow(_hWnd :HWND;
_uMsg :UINT;
_wParam :WPARAM;
_lParam :LPARAM):longint;stdcall;
var
hDc1 :HDC;
ps :PAINTSTRUCT;
begin
if (_uMsg = WM_LBUTTONUP) then
begin
MessageBox(, 'Up', '', );
end
else if (_uMsg = WM_PAINT) then
begin
hDc1 := BeginPaint(_hWnd, ps);
TextOut(hDc1, , , 'ASDFG zxcvb', strlen('ASDFG zxcvb'));
EndPaint(_hWnd, ps);
Result := ;
Exit;
end
else if (_uMsg = WM_DESTROY) then
begin
DestroyWindow(_hwnd);
PostQuitMessage(); Result := ;
Exit;
end;
Result := DefWindowProc(_hWnd, _uMsg, _wParam, _lParam);
end; {$O-}
procedure CreateWindow;
var wndcls :WNDCLASS;
hInstance :THandle;
hWnd1 :HWND;
iErr :integer;
begin
hInstance := Windows.GetModuleHandle(nil); ZeroMemory(@wndcls, sizeof(wndcls));
wndcls.cbClsExtra := ;
wndcls.cbWndExtra := ;
wndcls.hbrBackground := HBRUSH(GetStockObject(WHITE_BRUSH)); // 背景画刷
wndcls.hCursor := LoadCursor(, IDC_CROSS);
wndcls.hIcon := LoadIcon(, IDI_ERROR); // 窗口图标
wndcls.hInstance := hInstance;
wndcls.lpfnWndProc := @ProcWindow;
wndcls.lpszClassName:= 'zc20110929';
wndcls.lpszMenuName := nil;
wndcls.style := CS_HREDRAW or CS_VREDRAW;
RegisterClass(wndcls); hWnd1 := CreateWindowEx(
WS_EX_CLIENTEDGE,
wndcls.lpszClassName,
'ZC Window',
WS_OVERLAPPEDWINDOW,
, ,
, ,
,
, //g_hMenu,
hInstance,
);
if (hWnd1 = ) then
iErr := GetLastError; // ShowWindow(hWnd1, SW_SHOWNORMAL);
UpdateWindow(hWnd1);
end;
{$O+} end.
3、
NativeWindow_01的更多相关文章
随机推荐
- 2015-03-11——简析DOM规范
DOM 0级指浏览器专有的,非标准的方法.对象和集合. DOM 1级 1998年发布包括:DOM coreDOM html DOM 2级 DOM2 core 2000年发布 DOM2 html 20 ...
- netstat命令——网络,进程,内存
netstat网络.进程.内存 转自:https://www.cnblogs.com/xieshengsen/p/6618993.html https://zhidao.baidu.com/quest ...
- Oracle 11g数据库详解(3)
ORA-14025:不能为实体化视图或实体化视图日志指定PARTITION ORA-14026:PARTITION和CLUSTER子句互相排斥 ORA-14027:仅可以指定一个PARTITION子句 ...
- cas添加验证码
cas添加验证码,折腾了好久,终于整理好了,很大部分都是借鉴http://binghejinjun.iteye.com/blog/1255293这个的.但是他的有一个很不好的地方就是不能提升验证码错误 ...
- Git学习笔记-精简版
注意本文参考廖雪博客: http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 一:Git ...
- day3-set集合
set是一个无序且不重复的元素集合 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 3 ...
- Django:学习笔记(2)——创建第一个应用
Django:学习笔记(2)——创建第一个应用 创建应用 在 Django 中,每一个应用都是一个 Python 包,并且遵循着相同的约定.Django 自带一个工具,可以帮你生成应用的基础目录结构, ...
- java调用ffmpeg命令行推流遇到的问题
1.Java调用命令行,如果没有额外环境变量,不指定工作路径,Runtime有两个方法 public Process exec(String command) public Process exec( ...
- DATEDIFF() 返回2个日期之间的间隔
SELECT DATEDIFF(day,'2008-12-29','2008-12-30') AS DiffDate 解释: 第一个参数 day 表示 返回2个日期间隔的 个间隔类型 是 日期:结果 ...
- 【Head First Servlets and JSP】笔记
1.谈到服务器的时候,可能是指物理主机(硬件),也可能是指Web服务应用(软件). 2.谈到客户的时候,通常指人类用户,或者是浏览器应用,或者两者都包括,浏览器应用做些什么?发送请求.解释HTML和呈 ...