创建异形窗口[2] 本例效果图:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure FormCreate(Sender: TObject);
创建异形窗口[1] 本例效果图:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure FormCreate(
TPageControl 上有多个 TWebBrowser 时, 如何协调 Back、Forward - 回复 "飘逸的蓝" 的问题 问题来源: http://www.cnblogs.com/del/archive/2007/12/13/993840.html#1804933 代码:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graph
如何放缩 TWebBrowser 中的页面 - 回复 "飘逸的蓝" 的问题 问题来源: http://www.cnblogs.com/del/archive/2009/03/13/1410935.html#1803351 TWebBrowser 调用的是 IE, 放缩页面是在 IE7 之后才支持的. 准备工作: 1、添加 WebBrowser1、Button1 2、激活窗体的 OnCreate
使用 TWebBrowser 编辑网页 本例效果图: 代码文件:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, OleCtrls, SHDocVw, StdCtrls, ExtCtrls; type TForm1 = class(TForm) WebBrowser1: TWe
TWebBrowser 与 MSHTML(1): 从 TWebBrowser 获取 DOM 中的 window 对象 借助 TWebBrowser 可以把软件做的更漂亮、更灵活, 很多软件已经或者早就这样做了. 尽管 HTML DOM 内容繁杂(涉及到 HTML、JavaScript、CSS), 但也都属于 TWebBrowser 的功能范围. 使用 TWebBrowser
学习 SQL 语句 - Select(2): 指定表中的字段 //选择 country 表中的 Name 字段 SELECT Name FROM country //选择 country 表中的 Name、Area 和 Population 字段 SELECT Name,Area,Population FROM country {多个字段时, 字段名是用 "," 隔开的} 本例效果图: 代码文件:u
多线程编程(17) - 多线程同步之 WaitableTimer (等待定时器对象)[续三] 根据 WaitableTimer 的主要功用, 现在再把它放在 "线程同步" 的话题中讨论有点不合适了, 就要结束它.//重新看看那个 APC 回调函数的格式: procedure TimerAPCProc( lpArgToCompletionRoutine: Poi
多线程编程(16) - 多线程同步之 WaitableTimer (等待定时器对象)[续二] 喝酒醉了一天, 重装系统一天, 两天没上博客了; 继续学习... 想过没有? WaitableTimer 是在 "定时等待", 前面例子中的 WaitForSingleObject 等待函数 "也在等待", 这就 "双重等待" 了, 这不好, 太浪
多线程编程(13) - 多线程同步之 Event (事件对象) 据说 Event(事件对象) 是多线程最原始的同步手段, 我觉得它是最灵活的一个. Event 对象(的句柄表)中主要有两个布尔变量, 从它的建立函数中可以看得清楚:function CreateEvent( lpEventAttributes: PSecurityAttributes
多线程编程(12) - 多线程同步之 Semaphore (信号对象) 之前已经有了两种多线程的同步方法: CriticalSection(临界区) 和 Mutex(互斥), 这两种同步方法差不多, 只是作用域不同; CriticalSection(临界区) 类似于只有一个蹲位的公共厕所, 只能一个个地进; Mutex(互斥) 对象类
多线程编程(10) - 多线程同步之 Mutex (互斥对象) 原理分析: 互斥对象是系统内核对象, 各线程都可以拥有它, 谁拥有谁就能执行; 执行完毕, 用 ReleaseMutex 函数释放拥有权, 以让其他等待的线程使用. 其他线程可用 WaitForSingleObject 函数排队等候(等候也可以理解为排队
多线程编程(8) - 多线程同步之 CriticalSection(临界区) 先看一段程序, 代码文件:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) ListBox1: TList
多线程编程(3) - 从 CreateThread 说起[续] function CreateThread( lpThreadAttributes: Pointer; dwStackSize: DWORD; lpStartAddress: TFNThreadStartRoutine; lpParameter: Pointer; dwCreationFlags: DWORD; {启动选项} var lpThreadId: DWORD ): THandle
Delphi 与 DirectX 之 DelphiX(93): TDIB.DrawDarken(); 本例效果图: 代码文件:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DIB, StdCtrls; type TForm1 = class(TForm) DXPaintBox1:
Delphi 与 DirectX 之 DelphiX(92): TDIB.Draw3x3Matrix(); 本例效果图: 代码文件:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DIB, StdCtrls; type TForm1 = class(TForm) DXPaintBo
Delphi 与 DirectX 之 DelphiX(88): TDIB.DrawQuickAlpha(); 本例效果图: 代码文件:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DIB, StdCtrls; type TForm1 = class(TForm) DXPaintB
Delphi 与 DirectX 之 DelphiX(87): TDIB.DrawTransparent、DrawTranslucent、DrawAlpha(); TDIB.DrawTransparent: 按指定的透明色透明; TDIB.DrawTranslucent: 先按指定的透明色透明, 然后再半透明; DIB.DrawAlpha: 先按指定的透明色透明, 再按指定的透明度透明.本例效果
Delphi 与 DirectX 之 DelphiX(76): TDIB.Ink(); 本例效果图: 代码文件:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DIB, StdCtrls; type TForm1 = class(TForm) DXPaintBox1: TDXPai
Delphi 与 DirectX 之 DelphiX(75): TDIB.FadeOut()、FadeIn(); 本例效果图: 代码文件:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DIB, StdCtrls; type TForm1 = class(TForm) DXPain
Delphi 与 DirectX 之 DelphiX(73): TDIB.Darker()、Lighter(); 本例效果图: 代码文件:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DIB, StdCtrls; type TForm1 = class(TForm) DXPain
Delphi 与 DirectX 之 DelphiX(71): TDIB.Negative; 本例效果图: 代码文件:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DIB, StdCtrls; type TForm1 = class(TForm) DXPaintBox1: TDXP
Delphi 与 DirectX 之 DelphiX(70): TDIB.Mirror(); 本例效果图: 代码文件:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DIB, StdCtrls; type TForm1 = class(TForm) DXPaintBox1: TDX
Delphi 与 DirectX 之 DelphiX(69): TDIB.Greyscale(); 本例效果图: 代码文件:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DIB, StdCtrls; type TForm1 = class(TForm) DXPaintBox1:
Delphi 与 DirectX 之 DelphiX(67): TDIB.DoSmoothRotate(); 本例效果图: 代码文件:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DIB, StdCtrls; type TForm1 = class(TForm) DXPaintB