scintilla
是乙個開源的編輯元件,它不僅具有通常的編輯功能,而且還提供了語法樣式、**摺疊、標籤、**自動完成和提示等功能。
windows
版本的scintilla,是乙個標準的windows元件,使用者可以通過sendmessage函式傳送訊息,與其進行互動。sendmessage函式介面如下所示:
lresult
sendmessage(
hwnd
hwnd,
uint msg,
wparam wparam,
lparam lparam
);
gtk+
版本的scintilla,採用和windows版本相似的方式,進行訊息傳遞。下面的介紹,將以windows版本為主。
scintilla
提供了大量的訊息api,每個訊息可以帶有0個、1個或2個引數。sendmessage函式中的訊息,通常帶有2個引數:wparam和lparam,因此對於沒有使用的引數,強烈建議將其設定為0,以保證與將來版本的相容。對於大多數sci_set***xx設定類訊息,都會有乙個對應的sci_get***xx查詢訊息。
訊息中的引數型別,如下表所示:
引數型別
引數說明
bool
0表示false,1表示true
int 32
位有符號整數
const char*
常量字串指標,字串可能以0結尾,或者通過另乙個引數指明長度
char*
字元緩衝區指標,scintilla將會用查詢到的字元資料進行填充。在一些情況下,通過另乙個引數,指明了緩衝區大小;在另一些情況下,你必須保證緩衝區足夠大,可以容納查詢到的字元資料。如果你傳入了乙個空指標0,訊息將返回查詢到的字元資料大小。
colour
rgb格式的顏色值。每種顏色取值0 - 255,red、green、blue按如下方式組合,得到colour值:colour = red | (green << 8) | (blue << 16)。0x000000,黑色;0xff0000,藍色;0x00ff00,綠色;0x0000ff,紅色;0xffffff,白色。
alpha
alpha
通道值,表示顏色的半透明度,取值範圍為:0(完全透明,sc_alpha_transparent)- 255(不透明,sc_alpha_opaque)。值256(c_alpha_noalpha)表示不使用alpha通道。並不是所有平台都支援alpha通道,並且只有一部分訊息實現了alpha效果。訊息預設alpha值為256,不使用alpha通道。
未使用引數,強烈建議將其設定為0,以保證與將來版本的相容。
在scintilla中,使用了如下幾種資料結構:
字元範圍資料結構,與win32資料結構charrange相同。
struct
characterrange ;
文字範圍資料結構,主要用於從scintilla元件獲取指定範圍的文字,與win32資料結構textrange相同。
struct
textrange ;
搜尋文字資料結構,與win32資料結構findtextex相同。
struct
texttofind ;
事件通知資料結構。在windows中,scintilla將向它的父視窗傳送wm_notify訊息;在gtk+中,scintilla將向它的父視窗傳送
notify
訊號。struct
notifyheader ;
struct
scnotification ;
hmodule
m_hmodule
和虛函式
intexitinstance()
,並增加載入dll**和釋放dll**:
::initinstance()
…return true
; };
::exitinstance()
} 然後,在ceasyeditview中,增加wm_paint訊息處理函式void onpaint(),並在bool precreatewindow(createstruct& cs)和void onpaint()函式中增加**:
bool ceasyeditview::
precreatewindow
(createstruct& cs)
void ceasyeditview
::onpaint()
這樣,scintilla控制項就已經整合到view中了。
為了處理scintilla控制項傳送的事件通知,在cchildframe中,增加wm_notify訊息處理函式bool
onnotify(wparam
wparam, lparam
lparam, lresult* presult):
bool cchildframe
::onnotify(wparam
wparam, lparam
lparam, lresult* presult)
return cmdichildwnd::onnotify(wparam, lparam, presult);
}
Scintilla使用指南 1 簡介
scintilla是乙個開源的編輯元件,它不僅具有通常的編輯功能,而且還提供了語法樣式 摺疊 標籤 自動完成和提示等功能。windows版本的scintilla,是乙個標準的windows元件,使用者可以通過sendmessage函式傳送訊息,與其進行互動。sendmessage函式介面如下所示 l...
Scintilla使用指南 3 搜尋和替換
scintilla 提供了搜尋和替換功能,它可以進行普通查詢和正規表示式查詢。scintilla的正規表示式,只提供了很有限的一些基本功能。在進行文字搜尋時,需要設定搜尋標誌 搜尋標誌 說明scfind matchcase 匹配大小寫 scfind wholeword 匹配整個單選 scfind w...
sqlmap詳細使用指南(1)
1.sqlmap update 更新公升級 2.sqlmap u http current user 獲取當前使用者名稱 3.sqlmap u http current db 獲取當前數 據庫名稱 4.sqlmap u http tables d db name 列表名 5.sqlmap u htt...