[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2005/10/28(Fri) 15:07
投稿者名:やくも
Eメール:
URL :
タイトル:
テキストボックスへの貼り付け禁止
テキストボックスへの「Ctrl+V」やマウスの右クリックによる
貼り付けを禁止し、表示内容を更新しないようにしたいのですが
どのようにすればよいのですか。
「Locked=True」で、直接入力はできないようにしています。
お願いします。

投稿時間:2005/10/28(Fri) 15:31
投稿者名:だい
Eメール:dee_bassist@hotmail.com
URL :
タイトル:
Re: テキストボックスへの貼り付け禁止

こちらの逆引きヘルプ一覧表 にある
テキストボックス上での貼り付け防止
hhttp://www.bcap.co.jp/hanafusa/VBHLP/txtpaste.htm

線なしのFrame上にTextBoxを配置して、FrameのEnabledをFalseにする方法
hhttp://homepage2.nifty.com/Dee/vb/soft/textboxesontheframe.lzh

などが参考になるかと思います。

投稿時間:2005/10/28(Fri) 17:29
投稿者名:やくも
Eメール:
URL :
タイトル:
Re^2: テキストボックスへの貼り付け禁止
ありがとうございます。

Ctrl + V による貼り付け、マウスの右クリックによる貼り付け禁止
の方法参考になりました。

ただ、マウスの右クリックによるコピーだけは有効にしたいのですが、
ダブルクリック後の右クリック防止を付けてしまうと、表示すらされ
なくなってしまいます。
右クリックした後のメニューでコピーだけ有効にするということは
可能なのでしょうか。

投稿時間:2005/10/28(Fri) 18:38
投稿者名:だい
Eメール:dee_bassist@hotmail.com
URL :
タイトル:
Re^3: テキストボックスへの貼り付け禁止

> ただ、マウスの右クリックによるコピーだけは有効にしたいのですが、

#それを先に書いててもらえれば、スレッド1往復ぶん減ったのに...(^^;

簡単に実現するなら、
Private Sub Text1_Change()
    Me.Text1.Text = Me.Text1.Tag '変更されようとしたら旧値を書き戻して阻止
End Sub
Private Sub Text1_GotFocus()
    Me.Text1.Tag = Me.Text1.Text 'フォーカスがきたら値をTagプロパティに退避
End Sub
でコピーはできて、貼り付けメニューも出てきますが、実際には貼り付けられない
という動作になります。

投稿時間:2005/10/29(Sat) 01:25
投稿者名:やくも
Eメール:
URL :
タイトル:
Re^4: テキストボックスへの貼り付け禁止
ありがとうございます。

試してみます。

Me.Text1.Text、Me.Text1.Tag とMeがついていますが
必要なんですか。
Meというのはどういう意味なのですか。
その名の通り私ですか。

また、右クリックした時、貼り付けをグレーアウトするのは
難しいのでしょうか。

投稿時間:2005/10/29(Sat) 10:05
投稿者名:やくも
Eメール:
URL :
タイトル:
Re^4: テキストボックスへの貼り付け禁止
ありがとうございます。

試してみました。

画面の作りに関係しますが、
画面ロード時に設定、コンボボックスから選択したら設定、
リストボックスのチェックのON/OFFでの設定とありまして
一概には上手くいきませんでした。

右クリックした時、貼り付けをグレーアウトするのは
難しいのでしょうか。

投稿時間:2005/10/29(Sat) 12:38
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^5: テキストボックスへの貼り付け禁止
> 右クリックした時、貼り付けをグレーアウトするのは
> 難しいのでしょうか。

フォームにテキストボックスを2個貼り付けて下記コードを試して見て下さい。
Private strClipboardData As String
Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button = vbRightButton Then
        strClipboardData = Clipboard.GetText
        Clipboard.Clear
    End If
End Sub
Private Sub Text1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Clipboard.SetText strClipboardData
End Sub

投稿時間:2005/10/29(Sat) 13:43
投稿者名:やくも
Eメール:
URL :
タイトル:
Re^6: テキストボックスへの貼り付け禁止
ありがとうございます。

教えていただいた方法試してみました。
上手くいきました。