DirectUI之edit,輸入想說愛你不容易

2021-06-03 01:39:15 字數 644 閱讀 5650

directui 模擬各控制項有的比較簡單比如按鈕,有的卻很麻煩!比如edit,

想象一下自己做乙個edit所要面對的問題:

1:游標定位,

2:各種文字的標準操作,複製,剪下,貼上....

3:文字的選擇

4,文字的輸入,這裡肯定牽涉輸入法問題

5.文字的越界自動排列,文字一旦超出顯示區域範圍,那麼就需要對文字進行裁減.

那麼如果處理呢?

1)好實現!乙個timer就搞定了 定時顯示輸入即可

2)比較繁瑣,但是技術上不存在難度,結合剪貼簿操作還是比較容易的

3)很麻煩.需要根據滑鼠座標內部不斷的進行判斷selstart,selend,然後畫出選擇區域,但是起碼還能實現.

4)更麻煩.但是起碼還是能實現的,.普通輸入根據wm_char訊息來獲取,輸入法的話,重點截獲wm_ime_startcomposition,wm_ime_composition,wm_ime_endcomposition還是能定位輸入法位置的.

5)超麻煩,因為一旦文字超出區域那麼就需要你對當前文字進行裁減,這個就會造成好幾個問題,效率問題需要不斷進行判斷計算, 還會影響之前4個的處理

這個最煩!所以我暫時一旦超出就直接用3點**伺候它!至於什麼叫3點**,估計地球人都知道!

老規矩再來個截圖

Edit輸入數字以及小數

edit視窗是用來接收使用者輸入最常用的乙個控制項。建立乙個輸入視窗可以使用成員函式 bool cedit create lpctstr lpsztext,dword dwstyle,const rect rect,cwnd pparentwnd,uint nid 0xffff 其中dwstyle將...

delphi裡面控制Edit只能輸入數字

如何在delphi裡面控制edit只能輸入數字 if not key in 0 9 8 then key 0 只能輸入漢字,而不能輸入數字或其他字元 在edit的onkeypress事件中 procedure tform1.edit1keypress sender tobject var key c...

VC 學習之 Edit只能輸入數字和小數點

有時候我們在edit框中需要對使用者的輸入進行限制,允許輸入數字和小數點。下面的 放在onenchangeedit 函式中,可實現此功能。如果只允許輸入正整數,那麼直接把空間的屬性 number 設為true就可以了,不需要在新增一下 cstring csareas getdlgitem idc e...