国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

實用的TextBox控件的Undo屬性

2024-07-21 02:24:11
字體:
來源:轉載
供稿:網友
很少有vb開發人員注意到文本框(textbox)控件具有undo屬性,但這一屬性卻給程序員帶來方便。這是一個相當出色的特性,在很多需要編輯文本或者圖形的商業軟件的開發中都使用到。許多程序都需要多級別的撤消,或者有些程序需要“重新操作”而取消最后一步的操作,這些繁瑣的要求都需要復雜的編程設計,但textbox控件的一個簡單的undo屬性就可以很容易地實現這些過程。


由于undo功能是屬于文本框控件,你所需要的是向控件發送一個“undo youself”的消息。這一過程可以使用api函數sendmessage來實現。這一函數的聲明為:

declare function sendmessage lib "user32" alias _
"sendmessagea" (byvalhwnd as long, _
byvalwmsg as long, byvalwparam as long, _
lparam as any) as long


第一個參數是接受消息的句柄,在本例中為textbox控件的hwnd屬性。

第二個參數是識別消息的數字。為了能夠撤消某一操作,通常傳遞&hc7值,這也是代表著em_undo常量。

第三個和第四個參數可用于某些消息,但在本例中它沒有被使用,你可以將它們置為0。

函數返回的值取決于發送的消息。在本例中可以被省略。


為了能真正使用這一技巧,建立一個帶有一個窗體的工程,窗體中包含一個textbox控件和一個command按鈕控件。在command按鈕控件的點擊事件程序中添加以下代碼行:

sendmessage text1.hwnd, em_undo, 0&, 0&

在工程中添加一個模塊并在模塊中添加如下的代碼:

public const em_undo = &hc7
public declare function sendmessage lib "user32" _
alias "sendmessagea" (byvalhwnd as long, _
byvalwmsg as long, byvalwparam as long, _
lparam as any) as long

當運行這一工程時,在textbox控件中輸入和編輯文本。可以看到,按鈕撤消了最后一步的操作。如果沒有什么東西可以撤消,消息就不會起作用。你可以將undo屬性作為一個菜單命令以影響文本框的激活,如下所示:

if typeofactivecontrol is textbox then
sendmessageactivecontrol.hwnd, em_undo, 0&, 0&
end if

如果一個文本框沒有被激活,按鈕就不會執行任何操作。

textbox控件的undo屬性是一個具有吸收力和友好的特性,并且使用起來非常的簡單。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄浦区| 阿勒泰市| 金阳县| 巨野县| 泽普县| 攀枝花市| 青阳县| 永修县| 固阳县| 景洪市| 南陵县| 博白县| 安吉县| 宜州市| 鸡东县| 桓台县| 诸暨市| 霍州市| 大宁县| 贡觉县| 察隅县| 鄂托克旗| 安顺市| 鄯善县| 筠连县| 伊春市| 濮阳县| 江华| 晋中市| 探索| 新绛县| 南澳县| 夏津县| 县级市| 永胜县| 泰兴市| 吴旗县| 济阳县| 永靖县| 张家川| 象山县|