Time of Update: 2017-02-27
1. 增加唯讀屬性給日曆控制增加唯讀選項是直接過程。通過增加屬性,可以提供在設計時使控制唯讀方法,當屬性值被設為True,將使控制中所有元素不可被選。⑴ 增加屬性聲明和儲存值的private域:typeTDBCalendar=class(TClendar)privateFReadOnly: Boolean;publicconstructor Create (Aowner: TComponent); override;publishedproperty ReadOnly: Boolean
Time of Update: 2017-02-27
3. 建立新的訊息處理方法因為Delphi只為大多數普通Windows訊息提供了處理方法,所以當你定義自己的訊息時,就要建立新的訊息處理方法。使用者自訂訊息的過程包括兩個方面:● 定義自己的訊息● 聲明新的訊息處理方法⑴ 定義自己的訊息許多標準組件為了內部使用定義了訊息。定義訊息的最一般的動因是廣播資訊和狀態改變的通知。定義訊息過程分兩步:● 聲明訊息標識符● 聲明訊息記錄類型①
Time of Update: 2017-02-27
⑸ 預設屬性值當聲明一個屬性,能有選擇地聲明屬性的預設值。組件屬性的預設值是組件構造方法中的屬性值集。例如,當從Component
Time of Update: 2017-02-27
Delphi除了支援使用可視化組件所見即所得 (WYSIWYG)地建立應用程式外,還支援為開發應用而設計自己的組件。在本章中將闡述如何為Delphi應用程式編寫組件。這一章將達到兩個目的:● 教你如何自訂組件● 使你的組件成為Delphi環境的有機組合部分19.1 Delphi組件原理19.1.1
Time of Update: 2017-02-27
20.3.1.1寫DFM檔案的過程:WriteComponentResFie該過程帶有兩個參數FileName和Instance。FileName參數指定要寫入的DFM檔案名稱,Instance參數是TComponent類型的,它指定要寫入的組件名,一般是TForm對象的子類。該過程將Instance組件和其擁有的所有組件寫入DFM檔案。這個過程的意義在於,可以在程式運行過程中產生Delphi的表單組件和在表單中插入組件,並由該函數將表單寫入DFM檔案,支援了動態DFM檔案的重用性。該過程的程式
Time of Update: 2017-02-27
6.4.6 其它檔案管理功能的實現 在子視窗的Function菜單中,定義了一些其它的檔案管理功能:● Search :尋找一個給定名字的檔案,若存在則顯示該檔案屬性● Disk View :顯示當前磁碟機的大小和剩餘空間● View type :確定顯示檔案的類型 6.4.6.1
Time of Update: 2017-02-27
6.4.5.2 檔案拷貝、移動、刪除、更名 檔案拷貝的關鍵是使用了以檔案控制代碼為操作對象的檔案管理函數,因而提供了一種底層的I/O通道。在Object
Time of Update: 2017-02-27
一、 本文介紹一個CButton的衍生類別CLinkButton,用此衍生類別製作的按鈕具有以下特點:1、按鈕的外觀類似靜態控制項類CStatic 產生的對象。(參見圖一)圖一2、當滑鼠的游標移到按鈕上,但並未按下時,游標改變形狀,字型改變形狀;按鈕類似應用在工具條和菜單上的扁平鈕效果。(參見圖二)圖二3、當按鈕按下的情形:(參見圖三)圖三二、下面具體描述這種按鈕的實現方法和步驟: 在VC6的IDE環境中,產生一個基於對話方塊的PROJECT。
Time of Update: 2017-02-27
以下是CButtonST類的所有公用成員函數(函數名按音序排列先後):CButtonST::DrawBorderDWORD DrawBorder(BOOL bDrawBorder = TRUE, BOOL bRepaint = TRUE)注釋:因為CButtonST的預設顯示風格是平面按鈕。調用此函數用來顯示按鈕邊框。參數:bDrawBorder: 值為TRUE則顯示按鈕邊框。bRepaint: 值為TRUE則馬上重繪按鈕。傳回值:BTNST_OK:
Time of Update: 2017-02-27
圖1 變化的背景圖給托盤添加右擊菜單一般的商業程式都有托盤表徵圖和在托盤上彈出右擊菜單的功能,那麼如何給自已的程式添加這樣的功能呢?本文通過改變背景圖的執行個體,介紹一種實現托盤上彈出右擊菜單的方法。 一、添加托盤表徵圖給程式添加托盤表徵圖的方法在很多VC書中都有執行個體,通常在程式中按下面的步驟就可以實現:1、在XXDlg.CPP檔案頭部加入#define WM_NOTIFYICONWM_USER+5 NOTIFYICONDATA
Time of Update: 2017-02-27
編寫自己的"IDE"-- 如何在圖形介面中即時捕獲控制台程式的標準輸出.IDE是整合式開發環境(Integrated Development Environment)的簡稱。印象裡有很多出色的IDE,比如JBuilder和Kylix,比如Visual Studio。不知大家是否留意過,大多數IDE本身只提供代碼編輯、工程管理等人機互動功能,我們在IDE中編譯代碼、偵錯工具時,IDE需要調用命令列的編譯器、調試器完成相應的操作。例如,使用Visual
Time of Update: 2017-02-27
微軟C++開發工具VC++由於其介面友好,實用而被許多軟體開發人員所模仿,但是直接用MFC來實現VC介面不僅要耗費大量時間,而且在實作類別似VC工具條停靠,展開演算法,功能表項目和工具條按鈕自訂功能時,由於涉及到很多關於 MFC 本身實現的細節問題很容易使程式存在各種BUG。本文在實作類別似VC介面時,使用了一個MFC擴充介面庫SYGUI,從而輕鬆的實現了VC介面,下圖是本文所附例子代碼運行時的介面:圖一 本文例子運行時的介面下面對例子代碼作詳細說明:1、為使用SYGUI,你需要在stdafx.
Time of Update: 2017-02-27
1、概述測試優先是測試驅動開發(Test-Driven Development, TDD)的核心思想,它要求在編寫產品代碼前先編寫基於產品代碼的測試代碼。在測試驅動開發的單元測試中,對GUI應用實施自動化的測試應該是測試驅動開發的軟肋之一。由於介面的操作是有由人來完成的,所以要想在GUI中完成單元自動化的測試是有一定難度的。Kent Beck在它的《測試驅動開發》中就曾提到過這個問題。本文將通過一個例子來講解在測試驅動開發中如何針對GUI進行單元測試。這個例子是David
Time of Update: 2017-02-27
EasySkin是一個給正在開發的程式或已有程式增強介面效果的工具,只需一個簡單的函數調用就可以給你的應用程式加上漂亮的皮膚,包括所有的系統對話方塊與訊息窗。並且可以自己定製皮膚,一切就是這麼Easy。 一、實現的功能1、支援所有按鈕,包括checkButton,RadioButton,NormalButton,GroupBotton。2、支援所有的Combo
Time of Update: 2017-02-27
關於這個問題,其實網上可以找到很多這方面的文章和例子。尤其是在MSDN上,你可以查閱到非常詳細的內容。為簡單起見,本文這裡只將需要定製的代碼列出來。第一步:建立一個MDI工程,一路都選擇預設選項。 第二步:在 CMainFrame 類的標頭檔中添加下列方法以及變數聲明:// Operationspublic: void DockControlBarLeftOf(CToolBar* Bar, CToolBar* LeftOf);protected: // control bar
Time of Update: 2017-02-27
本例效果圖:代碼檔案:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls;type TForm1 = class(TForm) OpenDialog1: TOpenDialog; Button1: TButton; Button2: TButton; Button3:
Time of Update: 2017-02-27
本例效果圖:代碼檔案:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls;type TForm1 = class(TForm) OpenDialog1: TOpenDialog; Timer1: TTimer; PaintBox1: TPaintBox;
Time of Update: 2017-02-27
本例效果圖:代碼檔案:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;type TForm1 = class(TForm) OpenDialog1: TOpenDialog; Button1: TButton; Button2: TButton; Button3:
Time of Update: 2017-02-27
本例效果圖:代碼檔案:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls;type TForm1 = class(TForm) OpenDialog1: TOpenDialog; Button1: TButton; Button2: TButton;
Time of Update: 2017-02-27
在應用實踐中,我們經常會用到檔案查詢功能。通過Win95中提供的尋找功能,我們可以方便的找出磁碟上任何子目錄下的檔案,其原因是該尋找功能可以遍曆指定目錄下的所有子目錄中的檔案。從編程角度講,它實現了子目錄級的檔案查詢。其實,這項功能並不難實現,關鍵是能理解並掌握懙莨閽這種程式設計思路。本人用Delphi實現了該項功能(任意子目錄級),由於使用了懙莨閽,程式思路清晰,代碼量小。實現方法:1.擷取目前的目錄下的所有下一級子目錄。2.存入字串列表中(Tstrings)。其中,用到了幾個API函數。Fi