資料介紹
TextBox模擬拖曳選取文字
?我們知道Rich text或Word 或VB的程式撰寫環(huán)境,可以將Mouse移到Select起來(lái)的文字 按Mouse左鍵做拖曳移動(dòng)的功能,後來(lái)想,TextBox能不能做呢?這可真的吃了不少苦頭
,這個(gè)程式模擬其做法,但主要的精神是在於對(duì)TextBox的了解。
?首先,TextBox中當(dāng)選取一段文字之後,我們只要按Mosue,便使Select的區(qū)域失效,且 可能進(jìn)入另外的一個(gè)Select域,故第一件事是如何在有Select的區(qū)域時(shí),使這動(dòng)作失效; 的作法是在MouseUp時(shí)Check一下有沒(méi)有選取文字,如果有,就使用SubClass的技術(shù),攔截 Mouse的左鍵,所以當(dāng)我們按左鍵時(shí),不會(huì)再有選取文字又不見(jiàn)了的情況。
?第二,我們沒(méi)有按下Mouse,那如何得知Mouse所在的地方到底是TextBox的哪個(gè)字呢,所幸 有EM_CHARFROMPOS這個(gè)訊息可Send給textBox,其傳回值的HiWord 得該字元是在第幾行
?0為base,LowWord是該字元在TextBox中的位置(含換行與LineFeed),因而我們可以單
由MouseMove便得知何時(shí)Mouse要是箭號(hào),何時(shí)是內(nèi)定I形的Mouse。當(dāng)然想得知Mouse所在
可以透過(guò)Mouse Event的X, Y座標(biāo),但是它們是以Twips為單位,而另外也可以用GetCursorPos() 來(lái)得知Mouse的位置,但這是相對(duì)於螢?zāi)徽撸?a href='http://www.asorrir.com/tags/emc/' target='_blank' class='arckwlink_none'>EMCHARFROMPOS的訊息需要的是相對(duì)於TextBox 的座標(biāo),有許多種方法可以完成這轉(zhuǎn)換,但我選ScreenToClient()這個(gè)API,比較直接。
?第叁,Caret如何隱藏呢?使用HideCaret可完成,但這個(gè)Function只能呼叫一次以便 下回 ShowCaret()時(shí)可以將Caret Show出來(lái),這是因?yàn)楹艚?次的HideCaret時(shí),也要呼
?叫2次的ShowCaret才能使Caret出現(xiàn)。另設(shè)定Caret的SetCaretPos() API只是令Caret出現(xiàn)在什麼地,但如果您KeyIn任何字時(shí),仍出現(xiàn)在原來(lái)之地方,而不是方才設(shè)定之處,而
要用EM_SETSEL的Message才能設(shè)定KeyIn的位置是Caret的位置。
This file is generated with EtextWizard v1.0 ---written by Fengguohua? of NorthStar? 2000-2-25
?我們知道Rich text或Word 或VB的程式撰寫環(huán)境,可以將Mouse移到Select起來(lái)的文字 按Mouse左鍵做拖曳移動(dòng)的功能,後來(lái)想,TextBox能不能做呢?這可真的吃了不少苦頭
,這個(gè)程式模擬其做法,但主要的精神是在於對(duì)TextBox的了解。
?首先,TextBox中當(dāng)選取一段文字之後,我們只要按Mosue,便使Select的區(qū)域失效,且 可能進(jìn)入另外的一個(gè)Select域,故第一件事是如何在有Select的區(qū)域時(shí),使這動(dòng)作失效; 的作法是在MouseUp時(shí)Check一下有沒(méi)有選取文字,如果有,就使用SubClass的技術(shù),攔截 Mouse的左鍵,所以當(dāng)我們按左鍵時(shí),不會(huì)再有選取文字又不見(jiàn)了的情況。
?第二,我們沒(méi)有按下Mouse,那如何得知Mouse所在的地方到底是TextBox的哪個(gè)字呢,所幸 有EM_CHARFROMPOS這個(gè)訊息可Send給textBox,其傳回值的HiWord 得該字元是在第幾行
?0為base,LowWord是該字元在TextBox中的位置(含換行與LineFeed),因而我們可以單
由MouseMove便得知何時(shí)Mouse要是箭號(hào),何時(shí)是內(nèi)定I形的Mouse。當(dāng)然想得知Mouse所在
可以透過(guò)Mouse Event的X, Y座標(biāo),但是它們是以Twips為單位,而另外也可以用GetCursorPos() 來(lái)得知Mouse的位置,但這是相對(duì)於螢?zāi)徽撸?a href='http://www.asorrir.com/tags/emc/' target='_blank' class='arckwlink_none'>EMCHARFROMPOS的訊息需要的是相對(duì)於TextBox 的座標(biāo),有許多種方法可以完成這轉(zhuǎn)換,但我選ScreenToClient()這個(gè)API,比較直接。
?第叁,Caret如何隱藏呢?使用HideCaret可完成,但這個(gè)Function只能呼叫一次以便 下回 ShowCaret()時(shí)可以將Caret Show出來(lái),這是因?yàn)楹艚?次的HideCaret時(shí),也要呼
?叫2次的ShowCaret才能使Caret出現(xiàn)。另設(shè)定Caret的SetCaretPos() API只是令Caret出現(xiàn)在什麼地,但如果您KeyIn任何字時(shí),仍出現(xiàn)在原來(lái)之地方,而不是方才設(shè)定之處,而
要用EM_SETSEL的Message才能設(shè)定KeyIn的位置是Caret的位置。
This file is generated with EtextWizard v1.0 ---written by Fengguohua? of NorthStar? 2000-2-25
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- VB編程的串口調(diào)試助手和MSComm控件使用詳解等資料合集 39次下載
- vb數(shù)據(jù)庫(kù)編程實(shí)例之在Visual C#中實(shí)現(xiàn)DB2數(shù)據(jù)庫(kù)的編程的資料說(shuō)明 5次下載
- vb語(yǔ)言編程學(xué)習(xí)教程 32次下載
- VB編程_撥號(hào)程序 5次下載
- VB編程_鬧鐘程序 12次下載
- VB編程_窗體熱鍵 6次下載
- VB編程_窗體控制 7次下載
- VB編程_動(dòng)畫光標(biāo) 3次下載
- VB編程_畫圖工具 4次下載
- VB編程_模擬雪花 17次下載
- VB編程_累加求和 7次下載
- sweepmine_VB編程好資料 11次下載
- TwentyPoint_VB編程好資料 10次下載
- Vb與LabVIEW混合編程的實(shí)現(xiàn)
- 基于VB和LabVIEW的自動(dòng)化控制和編程設(shè)計(jì)
- 基于VB6.0 實(shí)現(xiàn) CAN信號(hào)收發(fā) Demo 807次閱讀
- 如何理解機(jī)器學(xué)習(xí)中的訓(xùn)練集、驗(yàn)證集和測(cè)試集 4510次閱讀
- vb語(yǔ)言和c++語(yǔ)言的區(qū)別 2431次閱讀
- PLC編程需要養(yǎng)成良好的編程習(xí)慣 1011次閱讀
- 單片機(jī)VB6對(duì)漢字的處理 1264次閱讀
- PLC編程必須具備的幾個(gè)軟實(shí)力! 4024次閱讀
- PLC編程入門基礎(chǔ)技術(shù)知識(shí)(plc原理和指令集及編程規(guī)則) 6.8w次閱讀
- vb編程語(yǔ)言是做什么用的_VB編程語(yǔ)言有哪些 8.3w次閱讀
- vb語(yǔ)言程序簡(jiǎn)單設(shè)計(jì)實(shí)例(5款vb語(yǔ)言設(shè)計(jì)程序分享) 11.1w次閱讀
- vb語(yǔ)言跟java語(yǔ)言什么區(qū)別 3.6w次閱讀
- vb語(yǔ)言代碼大全 12.6w次閱讀
- vb語(yǔ)言編程學(xué)習(xí)怎么入門 7.1w次閱讀
- vb語(yǔ)言為什么被淘汰 24.5w次閱讀
- vb語(yǔ)言有哪些優(yōu)勢(shì) 3.8w次閱讀
- vb語(yǔ)言知識(shí)點(diǎn)總結(jié) 1.7w次閱讀
下載排行
本周
- 1涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 76次下載 | 1 積分
- 2錦銳科技CA51F2 SDK開(kāi)發(fā)包
- 24.06 MB | 29次下載 | 1 積分
- 3錦銳CA51F005 SDK開(kāi)發(fā)包
- 19.47 MB | 3次下載 | 1 積分
- 4蘋果iphone 11電路原理圖
- 4.98 MB | 3次下載 | 2 積分
- 5基礎(chǔ)模擬電子電路
- 3.80 MB | 3次下載 | 1 積分
- 6RA-Eco-RA6M4-100PIN-V1.0開(kāi)發(fā)板資料
- 34.89 MB | 1次下載 | 免費(fèi)
- 7STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊(cè)
- 3.32 MB | 1次下載 | 免費(fèi)
- 8聯(lián)想A820t手機(jī)維修圖紙包括主板原理圖 尾板原理圖 點(diǎn)位圖
- 0.62 MB | 次下載 | 5 積分
本月
- 1AI智能眼鏡產(chǎn)業(yè)鏈分析
- 4.43 MB | 383次下載 | 免費(fèi)
- 2蘇泊爾電磁爐線路的電路原理圖資料合集
- 2.02 MB | 296次下載 | 5 積分
- 3貼片三極管上的印字與真實(shí)名稱的對(duì)照表詳細(xì)說(shuō)明
- 0.50 MB | 94次下載 | 1 積分
- 4長(zhǎng)虹液晶電視R-HS310B-5HF01的電源板電路原理圖
- 0.46 MB | 91次下載 | 5 積分
- 5涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 76次下載 | 1 積分
- 6錦銳科技CA51F2 SDK開(kāi)發(fā)包
- 24.06 MB | 29次下載 | 1 積分
- 7AO4803A雙P通道增強(qiáng)型場(chǎng)效應(yīng)晶體管的數(shù)據(jù)手冊(cè)
- 0.11 MB | 28次下載 | 2 積分
- 8長(zhǎng)虹液晶彩電LS29機(jī)芯的技術(shù)資料說(shuō)明
- 3.42 MB | 16次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191388次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81588次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評(píng)論