ComponentOneVSFlexGrid7.0を含むVB6フォームでアプリケーションを保守しています。ユーザーが特殊なコピーアンドペースト操作を実行できるカスタムコンテキストメニューがあります。最近、次の問題が発生しました。
- セルの1つでテキストを強調表示します。
- テキストを強調表示したまま、セルを右クリックします。
- コンテキストメニューオプションの1つを選択します。
- 要求されたコンテキストメニュー操作が発生します。
- ここに示されているものと同様の別のコンテキストメニューが表示され、「右から左への読み取り順序」、「IMEを開く」、「再変換」などのオプションがあります。
この2番目のコンテキストメニューを削除するにはどうすればよいですか?これまでのところ、Microsoftナレッジベースで説明されている方法を試しましたが、うまくいきませんでした。私のWindowProc関数は以下のとおりです。
Function WindowProc(ByVal hw As Long, _
ByVal uMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long
Select Case uMsg
Case WM_RBUTTONUP
frmMain.PopupMenu frmMain.mnuPopUp
Case Else
WindowProc = CallWindowProc(lpPrevWndProc, hw, _
uMsg, wParam, lParam)
End Select
End Function
コピー操作が行われた後、表示されるuMsg値は15(WM_PAINT)と32(WM_SETCURSOR)です。また、セル内のテキストを強調表示していない場合はフォームレベルのMouseUpイベントが発生しますが、セル内のテキストを強調表示している場合は発生しません。
VB6やComponentOneの知識が豊富な人に、発生するイベントのシーケンスと、この追加のコンテキストメニューが表示されないようにする方法について詳しく教えてください。