PlApplet函数的原型为: function CPlApplet( hwndCPl: THandle; //Identifies the main window of the controlling application. uMsg: DWORD; // Specifies the message being sent to the Control Panel application lParam1, lParam2: Longint // Specify additional message-specific information ): Longint; stdcall;---- CplApplet函数是控制面板与控制面板应用程序通讯的唯一方式。一个控制面板程序中的CplApplet函数的基本框架结构如下: function CPlApplet(hwndCPl: THandle; uMsg: DWORD; lParam1, lParam2: Longint): Longint; begin //… case (uMsg) of CPL_INIT: begin {…} end; CPL_GETCOUNT: begin {…} end; CPL_INQUIRE: begin {…} end; CPL_NEWINQUIRE: begin {…} end; CPL_DBLCLK: begin {…} end; CPL_STOP: begin {…} end; CPL_EXIT: begin {…} end; CPL_STARTWPARMS: begin {…} end; CPL_SETUP: begin {…} end; end; //函数的返回值取决于uMsg end;---- 事实上,编写控制面板程序的主要任务都放在处理这些CPL_消息上,关于这些消息的含义,请参看Delphi 5所带的帮助文档Win32.hlp。 ---- 为了简化控制面板程序的创建,Delphi 5新增了一个可视化构件库CtlPanel.PAS。CtlPanel单元中定义了TAppletApplication(控制面板应用程序类)和TAppletModule类.
hwndCPl: THandle; //Identifies the main
window of the controlling application.
uMsg: DWORD; // Specifies the message
being sent to the Control Panel application
lParam1, lParam2: Longint // Specify
additional message-specific information
): Longint; stdcall;---- CplApplet函数是控制面板与控制面板应用程序通讯的唯一方式。一个控制面板程序中的CplApplet函数的基本框架结构如下:
function CPlApplet(hwndCPl: THandle; uMsg: DWORD;
lParam1, lParam2: Longint): Longint;
begin
//…
case (uMsg) of
CPL_INIT: begin {…} end;
CPL_GETCOUNT: begin {…} end;
CPL_INQUIRE: begin {…} end;
CPL_NEWINQUIRE: begin {…} end;
CPL_DBLCLK: begin {…} end;
CPL_STOP: begin {…} end;
CPL_EXIT: begin {…} end;
CPL_STARTWPARMS: begin {…} end;
CPL_SETUP: begin {…} end;
end;
//函数的返回值取决于uMsg
end;---- 事实上,编写控制面板程序的主要任务都放在处理这些CPL_消息上,关于这些消息的含义,请参看Delphi 5所带的帮助文档Win32.hlp。
---- 为了简化控制面板程序的创建,Delphi 5新增了一个可视化构件库CtlPanel.PAS。CtlPanel单元中定义了TAppletApplication(控制面板应用程序类)和TAppletModule类.
发生时刻
相应的处理方法
CPL_DBLCLK
用户双击了该程序对应的图标
显示程序的主界面
CPL_EXIT
CPL_STOP之后
释放所有资源
CPL_GETCOUNT
CPL_INIT后
返回程序中对话框的数目
CPL_INIT
程序被装入内存后
初始化工作
CPL_INQUIRE*
CPL_GETCOUNT后
设定某个特定窗口的性质
CPL_NEWINQUIRE
CPL_GETCOUNT后
设定某个特定窗口的性质
CPL_SELECT*
CPL_STOP
程序关闭之前
释放对话框资源
* 是与旧版本的Windows兼容,Windows 9X/NT 4.0不再使用