摘要:
Windows界面控件的内置滚动条处于非客户区,要对其进行自绘非常麻烦。仅仅处理WM_NCPAINT消息是不够的,系统有很多情况下并不经由WM_NCPAINT绘制滚动条,比如鼠标在滚动条区域点击、滚轮滚动时。如果自行处理这些消息,复杂度大大增加,还可能有未知的漏网之鱼。处理滑块拖动,必须调用SetCapture,但是SetCapture后窗口收到的鼠标消息将是WM_MOUSEMOVE、WM_MOUSEUP而非WM_NCMOUSEMOVE、WM_NCMOUSEUP,因此还要增加对WM_MOUSEMOVE和WM_MOUSEUP的处理。 总之,要做好滚动条的自绘,涉及到很多窗口消息,而且不少消息不. 阅读全文
摘要:
先对SEH简要说明一下。寄存器FS:[0]存储着一个异常处理链表第一个元素的指针,该结构定义如下:[代码]其中TExcFrame.next指向下一个元素,TExcFrame.desc是处理异常的函数地址。当程序发生异常时,系统调用TExcFrame.desc指向的函数,该函数原型定义如下:[代码]介绍一下TSEHExceptionHandler函数。参数ExceptionRecord是异常信息(异常代码、引发异常的CPU指令地址等);参数EstablisherFrame当前处理函数的相关信息;参数ContextRecord是异常发生时线程的执行环境(各寄存器的值);参数DispatcherCo 阅读全文
摘要:
function GetQueuedCompletionStatus(hCompPort:THandle;var nBytesTransferred:Cardinal;var dwCompletionKey:Cardinal;var lpOverlapped:POverlapped;dwTimeout:Cardinal):BOOL;stdcall; 在完成端口编程中,GetQueuedComple... 阅读全文
摘要:
winsock.h和winsock2.h中都定义了几个特殊的地址: #define INADDR_ANY 0x00000000 #define INADDR_LOOPBACK 0x7F000001 #define INADDR_BROADCAST 0xFFFFFFFF #define INADDR_NONE 0xFFFFFFFF 别看到BROADCAST这个词就以为它是广播地址了。广播地址是由... 阅读全文
摘要:
Code Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1unit zjHashedTable; 2 3interface 4 5uses 6 SysUtils, 7 Classes; 8 9type 10 ... 阅读全文
摘要:
Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->unit ShlObjEx; interface uses Windows,ShlObj,ShellAPI; const SHCNE_RENAMEITEM= $0... 阅读全文
摘要:
IE将网页解析成COM对象集。每个网页元素对象都支持IHTMLElement接口,不同种类元素的COM对象还支持其它相应的接口。比如按钮对象支持IHTMLButtonElement接口,表单输入框对象支持IHTMLInputTextElement接口。通过这些接口可以获取和设置网页元素的属性,比如表单输入框的内容,复选框的状态等等。还可以替换这些元素的事件处理例程(如果元素支持事件的话),比如鼠标... 阅读全文
摘要:
unit DragFileAcceptor; interface uses SysUtils, Classes, ShellAPI,Messages,Windows,Forms,Controls; type TFileDropEvent=procedure(Sender:TObject;FileNameList:TStrings) of object; TAcceptFileEvent=pr... 阅读全文
摘要:
以下是我从MSDN中翻译过来的三个Delphi单元,调用任意一个单元中声明的API都可以获取网卡的物理地址,但三个单元中的API函数的有效环境和功能各有不同,我把说明附于代码的注释中。 unit Lmwksta; interface uses Windows,SysUtils,Dialogs; type _WKSTA_TRANSPORT_INFO_0=packed record wkt... 阅读全文