TSF 響應按鍵

2021-08-09 11:04:03 字數 1359 閱讀 4775

cstringrange 是乙個沒有/0結尾的字串型別,有兩個成員:

dword_ptr _stringbuflen;         // length is in character count.

const wchar *_pstringbuf; // buffer which is not add zero terminate.

cstringrange用 .set() 賦值(兩種方法),.get() 取值,還可以 .getlength()。

ccompositionprocessorengine 是乙個響應按鍵的類。它有乙個成員: cstringrange _keysrokebuffer,當按鍵後,首先改變 _keystrokebuffer ,然後在 getcandidatelist() 裡用  _ptabledictionaryengine->collectword(&_keystrokebuffer, pcandidatelist) 來改變候選字列表。_ptabledictionaryengine 也是 ccompositionprocessorengine 的成員,而 pcandidatelist 是傳入的指標。

ctabledictionaryengine 是乙個獲取候選字的類,有4種方法:

collectword(_in_ cstringrange *pkeycode, _inout_ csampleimearray*pwordstrings)

collectword(_in_ cstringrange *pkeycode, _inout_ csampleimearray*pitemlist)

collectwordforwildcard(_in_ cstringrange *pkeycode, _inout_ csampleimearray*pitemlist)

collectwordfromconvertedstringforwildcard(_in_ cstringrange *pstring, _inout_ csampleimearray*pitemlist)

candlist 是乙個以結構體 ccandidatelistiterm 為元素的陣列(array),ccandidatelistiterm 有兩個成員:

cstringrange _itemstring;

cstringrange _findkeycode;

給 candlist 賦值的方法:

cstringrange str1;

cstringrange str2;

ccandidatelistitem* pli = nullptr;

if (pli)

再論 TSF 響應按鍵

1 ccompositionprocessorengine getreadingstrings 2 csampleime handlecompositioninputworker 3 csampleime handlecompositioninput 4 csampleime handlecompo...

Delphi中窗體響應按鍵步驟

1.因為keypreview預設是 false 我們這裡需要響應鍵盤事件的話,需要將其修改為true 所以keypreview true 這對一些快捷鍵會有用。在窗體屬性上修改keypreview true 2.在窗體的formkeydown函式裡寫 if keypreview then form將...

DuiLib 響應按鈕事件

pragma once duiib 響應按鈕事件 author 邱于涵 2016年12月16日18 25 20 include duilb的標頭檔案 include duilib的命名空間 using namespace duilib 根據巨集判斷語句 判斷是否unicode 以及相應的動態鏈結庫 ...