摘要: 填写 TTreeView 的内容一般是这样开始的(下图), 不过我觉得最好习惯用动态建立. 打个比方: 譬如 TreeView 是一个军营的"营部"! 这里会有营长、连长、排长、班长、战士等等. 我们把它们分成三种对象: 营部、营长(总当家)、营长的下属. 在这里的对应关系是: TTreeView - 营部 TTreeNodes - 营长 TTreeNode - 营长的下属 上面... 阅读全文
posted @ 2008-03-10 14:56 万一 阅读(10275) 评论(27) 推荐(0)
摘要: //声明: {返回进程的句柄} OpenProcess( dwDesiredAccess: DWORD; {访问选项} bInheritHandle: BOOL; {能否继承; True 表示能用 CreateProcess 继承句柄创建新进程} dwProcessId: DWORD {指定进程 ID} ): THandle; {成... 阅读全文
posted @ 2008-03-10 12:19 万一 阅读(18446) 评论(17) 推荐(0)
摘要: //声明: GetWindowThreadProcessId( hWnd: HWND; {指定窗口句柄} lpdwProcessId: Pointer = nil {返回进程 ID 的指针} ): DWORD; {返回线程 ID} //举例: unit Unit1; interface uses Wi... 阅读全文
posted @ 2008-03-10 11:59 万一 阅读(18174) 评论(1) 推荐(0)
摘要: {返回当前线程的虚拟句柄} GetCurrentThread: THandle; {返回当前线程 ID} GetCurrentThreadId: DWORD; {返回当前进程的虚拟句柄} GetCurrentProcess: THandle; {返回当前进程 ID} GetCurrentProcessId: DWORD; 提示: ID 是系统唯一的标识. 所谓虚拟句柄, 就是该句柄只... 阅读全文
posted @ 2008-03-10 10:43 万一 阅读(19955) 评论(0) 推荐(0)
摘要: 提示: SetParent 应该 Windows.SetParent, 因为 TForm 的父类有同名方法. //声明: {获取父窗口句柄} GetParent(hWnd: HWND): HWND; {指定父窗口} SetParent( hWndChild: HWND; {子句柄} hWndNewParent: HWND {父句柄} ): HWND; ... 阅读全文
posted @ 2008-03-10 00:39 万一 阅读(10525) 评论(6) 推荐(0)
摘要: 提示: 1、其实用 Delphi 内部同类函数很方便的, 但系统函数是全局的; 2、使用 GetClientRect 时, 一般要 Windows.GetClientRect, 因为 TForm 的父类有同名函数. //声明: {获取窗口外部矩形(相对于屏幕)} GetWindowRect( hWnd: HWND; {窗口句柄} var lpRect: TRect {用... 阅读全文
posted @ 2008-03-10 00:19 万一 阅读(8864) 评论(0) 推荐(0)