8.テキストボックスへの貼り付け防止(DLLを使用しての簡単なサブクラス化) |
1.サブクラス化を簡単にするためのクラス(SimpleSubClass.dll Ver 1.0.0 中嶋 さん作)の使用条件 2.テキストボックスへの貼り付け防止(DLLを使用しての簡単なサブクラス化) 3. 4. 5. 6. |
下記プログラムコードに関する補足・注意事項 動作確認:Windows Vista・Windows 7 (32bit) / VB6.0(SP6) Option :[Option Explicit] 参照設定: 使用 API:GetDoubleClickTime その他 :このサンプルは、 Win32 APIを使用しておりますので、ある程度Win32 API が理解できる方がお使い下さい。 :
|
1.サブクラス化を簡単にするためのクラス(SimpleSubClass.dll Ver 1.0.0 中嶋 さん作)の使用条件 |
(プログラマのメモ帳さんのサイト) サブクラス化を簡単にするためのクラス Ver 1.0.0 上記DLL等の著作権は中嶋さんにありますが、商用、非商用に限らず自由に組み込んでかまいません。 との事で使用させて頂きここに紹介しました。 但し、このライブラリを使用して起こったいかなることにも中嶋さんには責任が無いものとします。 ------------------------------------------------------------------------------------------------- 上記サイトは、現在閉鎖されておられます。下記使用条件を守って頂けるのなら、下記よりダウンロードしてご利用下さい。 ■使用条件 著作権は中嶋にあります。商用、非商用に限らず自由に組み込んでかまいません。 改変は著作権情報の部分を除いて可能です。 DLLやソースの再配布は、著作権情報を改変しない限り可能です。 このライブラリを使用した起こったいかなることにも中嶋には責任が無いものとします。 DLLやソースの再配布は、著作権情報を改変しない限り可能です。と言う事なので再配布させて頂きます。 SimpleSubClass.dll のダウンロード 上記 DLL をダウンロードして解凍し、DLL を System32 フォルダーかプログラムと同じフォルダーに入れて参照設定しておいて下さい。 |
2.テキストボックスへの貼り付け防止(DLLを使用しての簡単なサブクラス化) |
Option Explicit Implements IWindowProc 'Meにイベントハンドラーを定義するため Private m_SubClass As New clsSubClass 'サブクラス化をするためのクラス定義 '下記は、必要により追加/削除してお使い下さい。 Private Const WM_CUT = &H300 'カット(P840) Private Const WM_COPY = &H301 'コピー(P837) Private Const WM_PASTE = &H302 'ペースト(P876) Private Const WM_CONTEXTMENU = &H7B 'ポップアップメニュー Private Sub Form_Load() 'Text1のhWndをサブクラス化しMeをイベントハンドラーとして使用する Call m_SubClass.Init(Text1.hWnd, Me) 'サブクラス化の解除はクラスが削除されたときに自動で行うので別に何も書かない End Sub 'イベント取得のためのインターフェイス ' '引数 ' hWnd MSDNライブラリのWindowProcと同じ ' uMsg 〃 ' wParam 〃 ' lParam 〃 ' Cancel ユーザー定義で処理を行いデフォルトの ' ウィンドウプロシージャに処理を渡さない場合Trueにする '戻り値 'Cancel=Trueのときのみ有効。ユーザー定義処理の結果を返す Private Function IWindowProc_WindowProc( _ ByVal hWnd As Long, ByVal uMsg As Long, ByVal wParam As Long, _ ByVal lParam As Long, Cancel As Boolean) As Long Select Case uMsg '必要により追加/削除してお使い下さい。 Case WM_CUT, WM_COPY, WM_PASTE, WM_CONTEXTMENU 'カット・コピー・ペースト・ポップアップメニューを無効に Cancel = True 'メッセージを無効にする 'Cancel = False 'メッセージを有効にする End Select End Function テキストボックスにユーザーが貼り付け入力できる方法には下記のようなものがあり、その全ての貼り付け入力を無効にできます。 2.Ctrl + V による貼り付け 4.Shift + Insert による貼り付け 5.テキストボックス上で右クリックでポップアップメニューを表示しての貼り付け 6.アプリケーションキー + Shift + F10 によるポップアップメニューの表示 従って、テキストボックスに対して数値しか入力できないようにするのが目的なら、テキストボックスで数値しか入力できないように制限する(簡易型) と併用してお使い下さい。 |
3. |
4. |
5. |
6. |
検索キーワード及びサンプルコードの別名(機能名) |