1. 程式人生 > >Inno Setup入門(二十)——Inno Setup類參考(6)

Inno Setup入門(二十)——Inno Setup類參考(6)

儲存框

儲存框也是典型的視窗視覺化元件,同編輯框類似,可以輸入、顯示文字,但是和編輯框不同的是,編輯框只能編輯、顯示單行文字,而儲存框則可以對多行文字進行操作。儲存框的類定義如下:< xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" />

TMemo = class(TCustomMemo)

property Lines: TStrings; read write;

property Alignment: TAlignment; read write;

property BorderStyle: TBorderStyle; read write;

property Color: TColor; read write;

property Font: TFont; read write;

property HideSelection: Boolean; read write;

property MaxLength: Integer; read write;

property ReadOnly: Boolean; read write;

property ScrollBars: TScrollStyle; read write;

property WantReturns: Boolean; read write;

property WantTabs: Boolean; read write;

property WordWrap: Boolean; read write;

property OnChange: TNotifyEvent; read write;

property OnClick: TNotifyEvent; read write;

property OnDblClick: TNotifyEvent; read write;

property OnKeyDown: TKeyEvent; read write;

property OnKeyPress: TKeyPressEvent; read write;

property OnKeyUp: TKeyEvent; read write;

end;

層次結構模型如下:

儲存框同編輯框一樣,都是繼承自TcustomEdit類,但是在Tmemo上還有一個TcustomMemo類,該類添加了一個屬性:Lines,即多行文字的操作。

下面的程式碼將演示編輯框的建立和屬性。

[setup]

AppName=Test

AppVerName=TEST

DefaultDirName="E:\TEST"

AppVersion=1.0

[files]

Source: "F:\desktop\Inno\ipmsg.exe";Flags:dontcopy

[code]

var

myPage:TwizardPage;

radio1,redio2:TRadioButton;

mm:TMemo;

procedure InitializeWizard();

begin

myPage:=CreateCustomPage(wpWelcome, '標題:自定義頁面', '描述:這是我的自定義頁面');

mm:=TMemo.Create(myPage);

mm.Parent:=myPage.Surface;

mm.Text:='儲存框測試';

mm.Lines.Add('這是新的一行');

mm.Lines.Insert(0,'我在最前面');

mm.Lines.Add('請刪除我,第四行');

mm.Lines.Delete(3);

{行號從0排起,插入到前面}

mm.WordWrap:=True;{自動換行}

mm.WantTabs:=True;{接受Tab}

mm.WantReturns:=True;{換行}

mm.ScrollBars:=ssVertical;{滾動條}

end;

執行效果如下:

下面說說儲存框的屬性。

由於儲存框和編輯框許多屬性都相同,這裡就不再贅述了,主要說說編輯框的幾個特殊屬性。ScrollBar指明瞭儲存框的滾動條狀態,可選值有ssBothssHorizonalssNonessVertical,其含義如值所描述。WantReturns屬性決定按Enter鍵之後是點選確認按鈕(對應屬性值為False)還是儲存框換行(對應屬性值為True),如果設定該值為False而又想在編輯框中換行時,必須按Ctrl+Enter鍵,這和QQ的傳送訊息框是一樣的。WantTabs屬性決定按下Tab鍵是切換視窗中元件的焦點(對應屬性值為False)還是在儲存框中移動游標(對應屬性值為True),如果設定該值為False而又想在編輯框中移動游標時,必須按Ctrl+Tab鍵。最後的一個屬性是WordWarp,該屬性決定儲存框文字輸入時是否自動換行,屬性值為True則自動換行,為False則不能自動換行。注意如果設定了ScrollBars屬性為ssBoth或者ssHorizonal,將不會自動換行,因為滾動條會自動調節寬度。

另外就是Lines屬性。該屬性其實本身也是一個類,屬於Tstring,該屬性主要用於操作儲存框中的一行文字,可用的函式有AddClearDeleteInsertCount等。

相關推薦

Inno Setup入門——Inno Setup參考6

儲存框 儲存框也是典型的視窗視覺化元件,同編輯框類似,可以輸入、顯示文字,但是和編輯框不同的是,編輯框只能編輯、顯示單行文字,而儲存框則可以對多行文字進行操作。儲存框的類定義如下:< xmlnamespace prefix ="o" ns ="urn:schema

Inno Setup入門——Inno Setup參考5

單選按鈕 單選按鈕在安裝中也很常見,例如同一個程式可以選擇安裝不同的性質的功能,例如選擇32位或者64位等,兩者是排他性的,因此可以通過單選按鈕(RadioButton)來實現,在同一個容器中放置的單選按鈕是自動帶有排他性的,Pascal指令碼中單選按鈕的定義如下: T

Inno Setup入門——Inno Setup參考4

編輯框 編輯框也叫文字框,是典型的視窗視覺化元件,既可以用來輸入文字,也可以用來顯示文字,是程式設計中最常用的元件之一,可以獲取使用者輸入的許多資訊。Pascal中的編輯框由類Tedit實現,該類的定義如下: TEdit = class(TCustomEdit) pro

Inno Setup入門十三——Inno Setup參考9

bar per win rst gre mar posit osi code 今天就簡單說一下ProgressBar。 TNewProgressBar = class(TWinControl) property Min: Longint; read write;

C語言入門之列舉

C語言中,列舉就是專門用於表示幾種固定型別的取值。列舉的本質就是基本資料型別, 就是整形。 列舉和結構體一樣, 要想定義列舉型別變數, 那麼必須先定義列舉型別。 列舉型別定義的格式   enum 列舉型別名稱 { 取值, }; // 1.

ElasticSearch最佳入門實踐document增刪改內部原理揭祕

步驟 (1)客戶端選擇一個node傳送請求過去,這個node就是coordinating node(協調節點) (2)coordinating node,對document進行路由,將請求轉發給對應的node(有primary shard) (3)實際的node上的prima

ElasticSearch最佳入門實踐剖析document資料路由原理

1、document路由到shard上是什麼意思? 我們這段,一個index的資料會被分為多片,每個片都在一個shard中,所以說,一個document存在於一個shard中 當客戶端建立的時候,es此時就需要決定說,這個document存在於那個shard上。 這個過程就稱

ElasticSearch最佳入門實踐mget批量查詢api

1、批量查詢的好處 就是一條一條的查詢,比如說要查詢100條資料,那麼就要傳送100次網路請求,這個開銷還是很大的 如果進行批量查詢的話,查詢100條資料,就只要傳送1次網路請求,網路請求的效能開銷縮減100倍 2、mget的語法 可以說mget是很重要

ElasticSearch最佳入門實踐partial update樂觀鎖併發控制原理以及相關操作

(1)partial update內建樂觀鎖併發控制 partial update內部是自動執行之前所說的樂觀鎖的併發控制方案 兩個執行緒 都拿到了document資料和_version 使用傳過來的field更新document 執行緒B也在做partial update

ElasticSearch最佳入門實踐總結以及什麼是distributed document store

1、總結 快速入門了一下,最基本的原理,最基本的操作 在入門之後,對ES的分散式的基本原理,進行了相對深入一些的剖析 圍繞著document這個東西,進行操作,進行講解和分析 2、什麼是distributed document s

ElasticSearch最佳入門實踐bulk批量增刪改

1、bulk語法 POST /_bulk { “delete”: { “_index”: “test_index”, “_type”: “test_type”, “_id”: “3” }} { “create”: { “_index”: “test_index”, “_typ

java多執行緒快速入門

CountDownLatch(閉鎖)計數器   有一個任務A,它要等待其他4個任務執行完畢之後才執行,此時就可以利用CountDownLatch來實現這種功能 package com.cppdy; import java.util.concurrent.CountDownLatch

java多線程快速入門

第一次 () trace for import else spl 自己的 arr CountDownLatch(閉鎖)計數器   有一個任務A,它要等待其他4個任務執行完畢之後才執行,此時就可以利用CountDownLatch來實現這種功能 package com.cp

java多執行緒快速入門

執行緒池的好處:   避免我們過多的去new執行緒,new是佔資源的(GC主要堆記憶體)   提高效率   避免浪費資源   提高響應速度 作用:會把之前執行某個執行緒完畢的執行緒不會釋放掉會留到執行緒池中給下一個呼叫的執行緒直接使用 前提:AB執行緒在同一個執行緒池裡面;A執行緒執行完畢了,B執

python 入門之 – 初識函式

上面學完了 python 的基本資料型別和檔案操作之後,今天學了一個新的知識點,函式,那麼什麼是函式呢? 先來看一個例子: a = 2 if a == 1: print('當前的 a 等於:' + str(a)) print('a 的值比 10 相差'+str(10-

python 入門之 – 三元運算

三元運算 又稱作 三目運算,是對條件判斷語句的簡寫,因為我主要是做前端的,在 JavaScript 裡面其實我已經寫過無數遍三目表示式了,如: let a = 0; let b = 1; //正常 JavaScript 判斷表示式 if(a>b){ console.log('a

python 入門之 – 字元編碼及相應處理方法

字元編碼及操作方法 今天來了解了解關於字元編碼的一些知識,關於字元編碼,其實我們生活當中所有的智慧裝置都有字元編碼,並且每個國家都有自己的字元編碼,記錄著各個國家的文字資訊,例如早期的一些網站專案都是用中國的 gbk 編碼。 每個國家的計算機編碼只能識別自己國家的文字,如果非當前國家

python 入門之 – 六進位制運算

二進位制是由 0 ~ 1 組成的 八進位制是由 0 ~ 7組成的 十進位制是由 0 ~ 9組成的 十六進位制是由 0 ~ 15 組成的,可是 9 後面的的 10 是用字母來代替 A~ F ,也就是 0 ~ F,用字母代替了數字,避免不再重複 之前剛接觸 python 的時候學了以下 二進

VS2013/MFC程式設計入門常用控制元件:圖片控制元件Picture Control

本節主要講一種簡單實用的控制元件,圖片控制元件Picture Control。通過使用圖片控制元件我們可以在介面某個位置顯示圖片以美化介面。        圖片控制元件簡介        圖片控制元件和前面講到的靜態文字框都是靜態文字控制元件,因此兩者的使用方法有很多

無人駕駛汽車系統入門——基於Frenet優化軌跡的無人車動作規劃方法

動作規劃動作在無人車規劃模組的最底層,它負責根據當前配置和目標配置生成一序列的動作,我們前面討論的三次樣條插值實際上只是一個簡單的路徑,而非我們最終能夠執行的軌跡,本文介紹一種基於Frenet座標系的優化軌跡動作規劃方法,該方法在高速情況下的高階車道保持和