亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 為delphi 4創建連接主頁的組件 (2000年7月19日).txt

?? 自己對DELPHI學習的一點體會
?? TXT
字號:
為Delphi 4創建連接主頁的組件 (2000年7月19日) 

本站更新  分類:   作者:周友 劉春芳  推薦:   閱讀次數:622  
(http://www.codesky.net)  

--------------------------------------------------------------------------------

關鍵詞:組件、類補全、包

摘要:本文以創建連接主頁的組件為例,詳細介紹了在Delphi 4下如何創建自己組件的方法及一些技巧。

為Delphi 4創建連接主頁的組件之前,首先應確定組件是否為可視組件,本文中要創建的組件是不可視組件,
由Tcomponent基本類派生。組件核心是由ShellApi中的函數ShellExecute來完成的,其函數說明在ShellApi
中可以找到,方法是按住Ctrl點擊ShellExecute,Delphi 4直接跳轉到ShellApi.PAS單元中的ShellExcute聲
明處(前提是在Uses條目中應包含ShellApi):

function ShellExecute(hWnd: HWND; Operation, FileName, Parameters,

Directory: PChar; ShowCmd: Integer): HINST; stdcall;

各參數含義可參見Delphi在線幫助:

HWnd :父窗口句柄

Operation :指向執行指定操作的字符串的指針

FileName :指向文件名或文件夾字符串的指針

Parameters :指向指定可執行文件參數字符串的指針

Directory :指向指定缺省目錄字符串的指針

ShowCmd :當文件打開時是否顯示

下面我們利用Component Wizard 編寫組件,方法是選擇
菜單File | New,從New Items的第一頁New中選擇Component或選擇菜單Component | New Component,此時會顯示如下窗口:

在對話框中輸入以下信息:

Ancestor type(父輩類型) :TComponent

Class Name(組件類名) :TExplorerWeb

Palette Page(組件面板頁名稱) :Zhouy

輸入完成后,按OK按鈕,Component Wizard自動生成如下標準樣本代碼:

unit ExplorerWeb;

 

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

 

type

TExplorerWeb = class(TComponent)

private

{ Private declarations }

protected

{ Protected declarations }

public

{ Public declarations }

published

{ Published declarations }

end;

 

procedure Register;

implementation

procedure Register;

begin

RegisterComponents('Zhouy', [TExplorerWeb]);

 

end;

end.

標準代碼中所有語句只是為了給你提供方便,如果你不需要可以刪去。

接下來我們要做的就是在樣本基礎上完善程序。在樣本代碼的開始部分是Uses條目,其中包含了標準組件所需的必要條目,現在需要增加我們的組件所需條目:ShellApi。

在類聲明中做如下聲明:

//為創建OnErrorEvent事件,先定義一個指向方法的指針

//ErrorCode 為要傳遞的錯誤代碼

TNotifyEvent = procedure(Sender: TObject; ErrorCode: Integer) of Object;

private

FOnErrorEvent: TNotifyEvent;

public

constructor Create(AOwner: TComponent); override; // 重載Create 方法

destructor Destroy; override; // 重載Destroy 方法

procedure Open; // 本組件中用到的方法

published

{ Published declarations }

// 定義屬性及事件

property OnErrorEvent: TNotifyEventr read FOnErrorEvent write FOnErrorEvent; 

 

property HomePage: string; // 屬性

好了,此時讓我們利用Delphi 4最重要的新特征之一類補全技術,自動為對象中的所有正確聲明和實現完成代碼。將光標放在任何一個新聲明的方法上,按Ctrl+Shift+C!哇!你會驚喜地發現標準樣本變成了如下模樣:

unit ExplorerWeb;

 

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,ShellApi;

 

type

TNotifyEvent = procedure(Sender: TObject;ErrorCode: Integer) of Object;

TExplorerWeb = class(TComponent)

private

FOnErrorEvent: TNotifyEvent;

FHomePage: string;

 

procedure SetHomePage(const Value: string);

{ Private declarations }

protected

{ Protected declarations }

public

{ Public declarations }

constructor Create(AOwner: TComponent); override;

destructor Destroy; override;

procedure Open;

published

{ Published declarations }

property OnErrorEvent: TNotifyEvent read FOnErrorEvent write FOnErrorEvent;

property HomePage: string read FHomePage write SetHomePage;

end;

procedure Register;

implementation

procedure Register;

begin

RegisterComponents('Zhouy', [TExplorerWeb]);

 

end;

{ TExplorerWeb }

 

constructor TExplorerWeb.Create(AOwner: TComponent);

 

begin

end;

destructor TExplorerWeb.Destroy;

 

begin

end;

procedure TExplorerWeb.Open;

 

begin

end;

procedure TExplorerWeb.SetHomePage(const Value: string);

 

begin

FHomePage := Value;

 

end;

end.

繼續完善自動生成的代碼:

constructor TExplorerWeb.Create(AOwner: TComponent);

 

begin

inherited Create(AOwner);

FHomePage := 'http://www.keylab.net/~zhouy';

 

end;

 

destructor TExplorerWeb.Destroy;

 

begin

inherited Destroy;

 

end;

procedure TExplorerWeb.Open;

 

var

ErrorCode: Integer;

 

begin

ErrorCode := ShellExecute(Application.Handle, 'Open', PChar(FHomePage),

nil, nil, SW_SHOWNORMAL);

if Assigned( FOnErrorEvent ) then FOnErrorEvent( Self, ErrorCode );

 

end;

下面我們再為組件創建一個圖標。與組件關聯的圖標放置在Compoent Pallete 中,它們定義在一個具有.DCR擴展名的文件中,如果不提供該文件,Delphi使用與對象的父類關聯的圖標。如果在組件的父類或父類以上類中的任何地方都沒有圖標,那么就會使默認的圖標。

我們可以使用Image Editor 創建圖標:

· 打開Image Editor并選擇New | Component Resource(后綴為.DCR),出現Utitled1.DCR對話框

·右擊Contents 項 -> New -> BitBmp

·Colors 選16色,Size選28x28或更小24x24

·從其他文件或自己勾畫一幅圖,本例以C:\Program Files\Common Files\Borland Shared\Images\Icons\Earth.ICO為基礎修改而成的

·將位圖改名為TexplorerWeb,并以ExplorerWeb.DCR 存盤退出。

還可以使用附件畫圖工具或其他編輯器來創建位圖,并創建.RC文件:

TexplorerWeb Bitmap ExplorerWeb.bmp

用命令行進行編譯:brc -r ExplorerWeb.RC

將所得的文件ExplorerWeb.RES 更名為ExplorerWeb.DCR

運行測試組件程序(這一步由讀者自己去做),無誤后將它放入Componet Pallette中。可以通過選擇Component | Install Component然后選擇Into New Component頁來實現,也可以用更簡單的方法創建包:

File | New | Package菜單,將激活Package Editor并創建一個名為Package1.DPK的新文件,如圖所示:

將缺省包保存為Zhouy.DPK。選擇Add按鈕,添加ExplorerWeb組件,此時可以看到Contains下有兩項:ExplorerWeb.DCR和ExplorerWeb.PAS。選擇Compile進行編譯,無誤后便可在Component Pallette中生成Zhouy頁,其中有一名為ExplorerWeb的組件。

至此我們創建了Delphi 4 下連接主頁的組件,此組件有HomePage屬性及OnErrorEvent事件。

下面簡單總結一下制作組件的過程:先確定組件的父類,利用Component Wizard,輔以Delphi 類補全技術自動生成組件程序,并完善所用到的聲明和實現;再用Image Editor 制作組件圖標;最后將組件增加到相應的包中編譯完成。

最后舉例說明如何使用我們制作的組件。

新建一個Project,添加一個Button組件和新制作的ExplorerWeb組件。

在Button的OnClick事件中寫入:

procedure TForm1.ButtonClick(Sender: TObject);

 

begin

ExplorerWeb.Open;

 

end;

在ExplorerWeb的OnErrorEvent事件中寫入:

procedure TForm1.ExplorerWebErrorEvent(Sender: TObject; ErrorCode: Integer);

 

begin

case ErrorCode of

0: MessageBox( Handle, '錯誤: 內存不足','錯誤提示',0 );

ERROR_FILE_NOT_FOUND: MessageBox( Handle, '錯誤:沒有找到文件',

'錯誤提示' ,0 );

ERROR_PATH_NOT_FOUND: MessageBox( Handle, '錯誤:目錄錯誤',

'錯誤提示' ,0 );

ERROR_BAD_FORMAT: MessageBox( Handle, '錯誤:錯誤的文件格式',

'錯誤提示' ,0 );

else

MessageBox( Handle,PChar('錯誤號: ' + IntToStr( ErrorCode ),'錯誤提示',0 );

end;

 

end;

運行此程序,當點擊按鈕時,將自動連接至‘Delphi 驛站’。若有錯誤,會給出相應提示。

以上是筆者制作組件的一點心得,愿與讀者們共享!并請批評指正。

聯系地址:山東省計算中心

聯系電話:0531-2605533

郵政編碼:250014

聯 系 人:周友(山東省計算中心) 劉春芳(濟南永寧制藥股份有限公司)

Email:zhouy@keylab.net


 
 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久毛片高清国产| 国产女主播在线一区二区| 国产精品盗摄一区二区三区| 成人综合激情网| 国产精品久久久久影院老司| 91美女福利视频| 悠悠色在线精品| 91精品国产全国免费观看| 久久99久久久久| 欧美国产国产综合| 一本色道久久综合精品竹菊| 亚洲aaa精品| 国产亚洲一区二区三区| 91亚洲大成网污www| 91精品国产一区二区三区香蕉| 蜜桃一区二区三区在线| 久久久久国产精品麻豆ai换脸 | 中文av一区特黄| 91麻豆精东视频| 日韩激情av在线| 欧美激情一区三区| 欧美色成人综合| 国产精品一区三区| 亚洲女人小视频在线观看| 欧美精品日韩一区| 粉嫩欧美一区二区三区高清影视| 国产精品美女久久久久久久 | 韩国一区二区三区| 国产精品二三区| 日韩视频免费直播| 91农村精品一区二区在线| 日本不卡一区二区三区高清视频| 亚洲国产激情av| 69av一区二区三区| 91亚洲资源网| 精品在线播放午夜| 亚洲国产成人精品视频| 国产精品天干天干在线综合| 91精品国产综合久久久久久久| 成人性生交大片免费| 日韩中文字幕区一区有砖一区 | 精品视频在线视频| 国产91色综合久久免费分享| 亚洲午夜羞羞片| 中文字幕日韩精品一区| 欧美电影免费观看高清完整版| 91免费看片在线观看| 国产乱理伦片在线观看夜一区| 五月婷婷欧美视频| 亚洲免费在线视频| 国产目拍亚洲精品99久久精品| 欧美一区二区大片| 欧美性一二三区| 91免费国产在线| av一区二区三区四区| 韩国三级中文字幕hd久久精品| 五月激情综合色| 亚洲综合一二三区| 亚洲天堂成人在线观看| 欧美激情资源网| 久久久综合视频| 精品少妇一区二区| 日韩一区二区三区在线观看| 欧美剧情电影在线观看完整版免费励志电影 | 欧美美女视频在线观看| 91福利区一区二区三区| 99精品在线免费| 成人午夜视频在线| 国产精品白丝jk白祙喷水网站| 韩国v欧美v日本v亚洲v| 韩国精品主播一区二区在线观看 | 久久噜噜亚洲综合| 久久色中文字幕| 久久久午夜精品| 国产日韩av一区二区| 国产网红主播福利一区二区| 久久综合网色—综合色88| 久久这里只有精品首页| 久久一日本道色综合| 久久精品欧美日韩| 国产欧美精品国产国产专区| 中文字幕乱码亚洲精品一区| 中文字幕亚洲综合久久菠萝蜜| 亚洲免费观看高清完整版在线观看| 亚洲男人的天堂在线aⅴ视频| 一区二区免费在线| 亚洲成在人线在线播放| 男人的天堂久久精品| 蜜芽一区二区三区| 国内精品写真在线观看| 国产98色在线|日韩| caoporm超碰国产精品| 91一区二区在线观看| 欧美三级蜜桃2在线观看| 91精品国产免费| 久久久久97国产精华液好用吗| 中文久久乱码一区二区| 一区二区久久久| 久久激情五月婷婷| proumb性欧美在线观看| 欧美三级视频在线观看| 欧美一二三区精品| 久久精品视频一区二区三区| 中文字幕在线不卡国产视频| 亚洲国产综合人成综合网站| 久久精品免费观看| 99国产一区二区三精品乱码| 欧美男生操女生| 欧美国产精品中文字幕| 亚洲线精品一区二区三区八戒| 老司机免费视频一区二区三区| 成人免费av在线| 911国产精品| 国产精品天干天干在线综合| 丝袜诱惑制服诱惑色一区在线观看 | 免费视频最近日韩| 成人黄色av网站在线| 欧美一区三区四区| 中文字幕在线不卡一区| 美女视频黄 久久| 91啪亚洲精品| 久久久美女毛片| 亚洲va国产va欧美va观看| 国产精品69久久久久水密桃| 欧美老肥妇做.爰bbww视频| 欧美国产禁国产网站cc| 日韩av在线免费观看不卡| 99vv1com这只有精品| 精品三级在线看| 午夜久久久影院| 91丨九色丨国产丨porny| 日韩精品一区二区在线观看| 亚洲一线二线三线视频| 国产91精品一区二区| 日韩一级二级三级精品视频| 一区二区欧美精品| av不卡免费在线观看| 精品国产免费人成电影在线观看四季 | 天堂成人国产精品一区| 色婷婷综合久久久中文一区二区| 欧美哺乳videos| 亚洲成人精品一区| 91女人视频在线观看| 国产片一区二区三区| 免费的成人av| 欧美日韩激情一区| 一区二区三区精密机械公司| 国产99久久久久| 久久综合九色综合97_久久久| 日韩精品三区四区| 欧美日韩1234| 亚洲成人一区二区在线观看| 91蝌蚪porny九色| 中文字幕一区免费在线观看| 国产mv日韩mv欧美| 久久久亚洲午夜电影| 国内成人精品2018免费看| 欧美一区二区人人喊爽| 五月婷婷欧美视频| 777a∨成人精品桃花网| 日韩高清在线电影| 精品视频1区2区3区| 亚瑟在线精品视频| 欧美二区三区91| 青青草91视频| 日韩免费观看2025年上映的电影| 日韩高清不卡一区二区| 日韩一级在线观看| 激情小说亚洲一区| 久久精品在线免费观看| 国产98色在线|日韩| 中文字幕精品一区二区精品绿巨人| 国产成人自拍网| 国产精品理论在线观看| jizzjizzjizz欧美| 亚洲图片另类小说| 欧美亚洲图片小说| 日韩av中文字幕一区二区三区| 日韩三级av在线播放| 久久99精品久久久久| 久久天堂av综合合色蜜桃网| 久久成人综合网| 国产亚洲欧美一级| 99久久精品情趣| 亚洲1区2区3区4区| 26uuu精品一区二区在线观看| 国产91高潮流白浆在线麻豆| 亚洲色图清纯唯美| 欧美猛男gaygay网站| 精品一区二区三区久久久| 中文字幕精品一区二区三区精品| 色综合久久六月婷婷中文字幕| 亚洲国产一二三| 久久久亚洲高清| 色网站国产精品| 精品伊人久久久久7777人| 欧美国产国产综合| 欧美日韩亚洲高清一区二区| 狠狠色丁香婷婷综合| 亚洲欧美另类在线|