| VB问题全功略(11) [查找本页请按Ctrl+F] |
| 51、我希望 TextBox
中能不接受某些特定字符,例如 '@#$%",有没有简单一点的写法? 52、如何让鼠标进入 TextBox 时自动选定 TextBox 中之整串文字? 53、如何让 TextBox 由 Insert 模式变成 Overwrite 模式? 54、如何使 TextBox 变成只读,卷动杆可卷动,但是不出现游标,也不可被选定反白? 55、文字框可以设定快捷键吗? 51、我希望 TextBox 中能不接受某些特定字符,例如 '@#$%",有没有简单一点的写法? 方法有好几种, 以下列举二种: 52、如何让鼠标进入 TextBox 时自动选定 TextBox 中之整串文字? 这个自动选定反白整串文字的动作,会使得输入的资料完全取代之前在 TextBox 中的所有字符。 Private Sub Text1_GotFocus() 53、如何让 TextBox 由 Insert 模式变成 Overwrite 模式? Windows 的 TextBox 一直都只支援 Insert Mode,而不支援 OverStrike(OverWrite) Mode,其实,只要在 Key_Press 事件中加上几行指令,就可以做到 OverStrike 功能 !! 以下的程式码中,只设定 SelLength=1,而 SelStart 若未指定则会一直跟著滑鼠的游标所在处,设定 SelLength=1 会反白游标所在处的下一个字,但是由于您输入的字元会直接取代该反白的字元(都同时在 Key_Press 发生),所以您并不会看到字符被选定反白 (Marked),若是游标已在字串的最后面,则会直接忽略这个动作。 以下的程式码中同时也作了以下的错误判断及预防: Sub Text1_KeyPress(KeyAscii As Integer) 54、如何使 TextBox 变成只读,卷动杆可卷动,但是不出现游标,也不可被选定反白? 在 Form 中放一个 TextBox,设定 Locked = True,MultiLine = True,ScrollBar = 2 - Vertical。另外再放一个 CommandButton (或其他任何可接受 Focus 的物件),此物件可由您自行作其他用途,否则设定 Command1.left = -1000 将其移到 Form 的外面。 程式码如下: 55、文字框可以设定快捷键吗? 不行,要设定快捷键的先决条件,是该物件必须有 Caption 属性,但是 TextBox (文字框) 只有 Text 属性,并无 Caption 属性,所以文字框本身是不能设定快捷键的!完全没办法吗? 但是还是有办法的!人家说山不转路转,文字框本身不能设定快捷键,一般我们在文字框的左方都会放置说明用的
Label,那我们就借用 Label 来做到这个功能,作法如下: 当您输入了 Label 物件的快捷键,由于 Label 物件没有 Focus 不接受快捷键,于是它立刻将 Focus 送到下一个 TabIndex 的物件,也就是 TextBox 文字框了! |
|
[木瓜软件工作室] 整理 |