Delphi與DirectX之DelphiX(1):安裝測試

測試 Demo 下載: files.cnblogs.com/del/DelphiX_1.rar (在 Delphi 2007 和 2009 下均編譯通過)其實按照這裡(www.cnblogs.com/del/archive/2008/06/13/1219324.html)的介紹, 比下載來的快, 也不需要下載.DirectX, 微軟很久的技術了; 從 Windows Vista 開始, DirectX 已經是微軟作業系統的介面基礎了.在 Delphi 下使用 DirectX

Delphi2007新功能-有限的棧對象

通過實驗,答案是肯定的!這使我感到很興奮,因為Delphi從誕生之日起,就限定了只能繼承於TObject的堆對象,必須通過Create和Free來建立和銷毀一個對象,而不能使用棧對象。而棧對象的好處就在於它能和其它類型一樣很方便的定義,它能自動調用建構函式和解構函式,在範圍範圍內(如函數內的局部對象)不必當心對象的建立和銷毀問題。要是Delphi具有了該功能,無意是Delphi編程者們的福音。不過,進一步的測試卻比較失望,請看下面的代碼:type TMyRecord = record

在Delphi的DBGrid中插入其他可視組件

Delphi提供了功能強大的DBGrid組件,以方便進行資料庫應用程式設計。但是如果我們僅僅利用DBGrid組件,每一個獲得焦點(Grid)只是一個簡單的文本編輯框,不方便使用者輸入資料。Delphi也提供了一些其他資料群組件來方便使用者輸入,比如DBComboBox,DBCheckBox等組件,但這些組件卻沒有DBGrid功能強大。Delphi能不能象Visual

EhLib 4.1在Delphi 2007下無法過濾和排序的問題

今天將一個程式升級到了 Delphi 2007,該程式是用Delphi7開發的,程式中用到了一個第三方組件EhLib。原先的 EhLib 是v3.6,無法在Delphi2007下安裝,所以安裝了最新的 v4.1。原先正常的程式,在升級後,發現 DBGridEh

改變元件的視窗式樣

CreateParams方法用來設定元件的視窗式樣及其它必須傳遞至CreateWindowEx API的參數。要改變元件的視窗式樣,例如增加或拿掉元件的垂直捲軸只要改寫CreateParams方法:procedure TMyControl.CreateParams(var Params: TCreateParams);begininherited CreateParams(Params);if IWantAScrollBar thenParams.Style := Params.Style

關於Delphi 2007的幾個東東

Delphi這幾年的變化真快,不但由公司Borland剝離出來到CodeGear,版本也從2005->2006->2007每年都一個。不過Delphi2007應該是個跨時代的的產品吧,雖然和Delphi2006相比修改不是很大,不過也有很多新鮮的地方。具體的地球人都知道,我就不說了。不過新的東西總會有很多支援趕不上的問題。1.版本問題目前Delphi2007的版本主要是有電驢上的ISO,還有一個企業版,和一個精簡版2.破解問題,基本上都是用D2007TWeaks.exe來破解的。3.

限制FORM的大小

使用過DELPHI的朋友都會注意到DELPHI本身最上面的視窗,當它極大時只佔螢幕的一小部分,它是如何?的呢,請看下面的說明:1)在FORM私人聲明部分加上如下一行:procedureMessage :TWMGetMinMaxInfo ); message WM_GETMINMAXINFO;WMGetMinMaxInfo( var2)在聲明部分加上如下幾行:procedure TForm1.WMGetMinMaxInfo( var Message :TWMGetMinMaxInfo

Delphi與DirectX之DelphiX(33):TDIB.SmoothRotateWrap();

本例效果圖:代碼檔案:unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, DIB, StdCtrls;typeTForm1 = class(TForm)DXPaintBox1: TDXPaintBox;Button1: TButton;Button2: TButton;procedure Button1Click(Sender:

Delphi與DirectX之DelphiX(28):TDIB.Emboss;

本例效果圖:代碼檔案:unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, DIB, StdCtrls;typeTForm1 = class(TForm)DXPaintBox1: TDXPaintBox;Button1: TButton;Button2: TButton;procedure Button1Click(Sender:

Delphi與DirectX之DelphiX(27):TDIB.Spray();

本例效果圖:代碼檔案:unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, DIB, StdCtrls;typeTForm1 = class(TForm)DXPaintBox1: TDXPaintBox;Button1: TButton;Button2: TButton;procedure Button1Click(Sender:

Delphi與DirectX之DelphiX(20):TDirectDrawSurface.FillRect...

TDirectDrawSurface.Fill();TDirectDrawSurface.FillRect();TDirectDrawSurface.FillRectAlpha();TDirectDrawSurface.FillRectAdd();TDirectDrawSurface.FillRectSub();其中 Fill 在前面每個例子中都有用到; 另外注意: 這幾個函數中的顏色格式有點亂:Fill 與 FillRect 使用的是非 Delphi 的顏色格式, 它們使用的紅色應該是:

Delphi與DirectX之DelphiX(17):TPictureCollectionItem.PatternWidth、Patte

Delphi與DirectX之DelphiX(17):TPictureCollectionItem.PatternWidth、PatternHeight本例效果圖:代碼檔案:unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, DXDraws, StdCtrls;typeTForm1 = class(TForm)DXDraw1:

使用鉤子函數[5]

前言: 博友 "鵬" 來信探討關於鉤子的問題, 核心困難是: dll 中的資料如何傳遞出來. 在接下來的兩個例子中探討這個問題.本例建立一個全域的滑鼠鉤子, 然後把滑鼠的相關資訊通過一個自訂的 GetInfo 函數傳遞給調用鉤子的程式.為了方便測試, 提供一個源碼下載吧: http://files.cnblogs.com/del/MouseHook_1.rar本例效果圖:DLL

使用鉤子函數[4]

SetWindowsHookEx 函數的第一個參數表示鉤子類型, 共有 14 種選擇, 前面我們已經用過兩種:WH_KEYBOARD、WH_MOUSE.系統會為每一種類型的鉤子建立一個表(那就是 14 個表), 譬如某個應用程式啟動了鍵盤鉤子, 我們自己的程式也啟動了鍵盤鉤子, 同樣是鍵盤鉤子就會進入同一個表. 這個表(可能不止一個, 可能還會有滑鼠鉤子等等)就是傳說中的"鉤子鏈".假如某個鉤子鏈中共進來了三個鉤子(譬如是: 鉤子A、鉤子B、鉤子C 依次進來), 最後進來的

多線程編程(18)

前面的例子都是讓若干線程做同樣的事情, 下面這個例子中的三個線程將分別在三個畫板上隨機畫不同顏色的橢圓.接下來的很多事情我想要基於這個例子來做.本例效果圖:代碼檔案:unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls, ExtCtrls;typeTForm1 = class(TForm)PaintBox1:

多線程編程(16)

想過沒有? WaitableTimer 是在 "定時等待", 前面例子中的 WaitForSingleObject 等待函數 "也在等待", 這就 "雙重等待" 了, 這不好, 太浪費資源.其實作為同步工具, 前面的幾種方法(事件、訊號、臨界區)基本夠用了; WaitableTimer 的作用並不是為了重複前面的功能, 它的主要功用類似 TTimer 類; 譬如每隔多長時間執行一段代碼、或在指定的時間去執行一段代碼.既然有了方便的

多線程編程(14)

function CreateWaitableTimer( lpTimerAttributes: PSecurityAttributes; {安全} bManualReset: BOOL;  {True: 可調度多個線程; False: 只調度一個線程} lpTimerName: PWideChar {名稱}): THandle; stdcall;   {返回控制代碼}function SetWaitableTimer( hTimer: THandle;            

Delphi與DirectX之DelphiX(13)

本例效果圖(實際效果是相當流暢的, gif 只能說明個動作趨勢):代碼檔案:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DXDraws, StdCtrls, DXClass, ComCtrls;type TForm1 = class(TForm)  DXDraw1: TDXDraw;  DXImageList1:

執行個體解說雙緩衝

本文配套源碼昨天在論壇上,有人問起雙緩衝的實現問題,想起網上這方面資料比較淩亂,而且多是DirectX相關的,今天特地在這裡給大家簡要的介紹一下雙緩衝技術及其在VC++的GDI繪圖環境下的實現。1、Windows繪圖原理我們在Windows環境下看到各種元素,如菜單、按鈕、視窗、映像,從根本上說,都是“畫”出來的。這時的螢幕,就相當於一塊黑板,而Windows下的各種GDI要素,如畫筆、畫刷等,就相當於彩色粉筆了。我們在黑板上手工畫圖時,是一筆一划的,電腦亦然。只不過電腦

如何用Win32 SDK編程建立Tri-pane HTML Help視窗

HTML Help使使用者能在一個說明視窗中使用工具棒、查看目錄和說明主題。目前,有兩種方法建立Tri-pane類型的HTML Help視窗:使用HTML Help Workshop建立視窗使用HTML Help API編程建立視窗本文將介紹如何使用這兩種方法建立Tri-pane HTML Help視窗。使用預定義視窗在HTML Help Workshop環境中很容易建立和修改工程的視窗定義,有關視窗定義的其它資訊,請參考微軟知識庫文章:Q189084 HOWTO: Create a

總頁數: 61357 1 .... 25587 25588 25589 25590 25591 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.