お世話になります。初めて質問します。
現在、MsFlexGridコントロールを使って開発しています。
Form上での右クリックイベント取得、ポップアップメニューの表示は行えるのですが、
MsFlexGrid上での右クリックのイベント取得方法、さらにポップアップメニューの表示方
法がわかりません。
ご存知の方、ご伝授をよろしくお願いいたします。
情報がたりませんでしたので、追記しておきます。
VCのバージョンはVC++6.0です。
よろしくお願いします。
> MsFlexGrid上での右クリックのイベント取得方法
他の方法はあるかもしれませんが、私は以前「ウィンドウのサブクラス化」で取得しました。
SDKをかじっていないと難しいと思います。
void CHogeView::OnInitialUpdate() // グリッドを持つView
{
WNDPROC oldProc = (WNDPROC)::SetWindowLong(m_grid.m_hWnd, GWL_WNDPROC,
(LONG)GridProc);
...
}
LRESULT CALLBACK GridProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
...
}
http://www.kumei.ne.jp/c_lang/sdk/sdk_36.htm
回答ありがとうございます。
SDKはかじったことがないのですが、リンクしてあるHPなどを参照して試してみました。
GridProc側では、OnRButtonDownなので、情報としてnFlags,pointが欲しいのですが、こ
の情報はどにようにして取得すればいいのでしょうか?
とんちんかんな質問だったら申し訳ございません。よろしくお願いいたします。
WM_RBUTTONDOWNについて調べましょう。
http://msdn.microsoft.com/en-us/library/ms646242(VS.85).aspx
ポップアップについてはここに。
http://www.kumei.ne.jp/c_lang/sdk/sdk_44.htm
MSFlexGridでやるには、少なくともこれを理解していないとつらいと思う。
先の36章と44章をそれぞれそのまま実行してみてください。
読むだけじゃなくて。
それに失敗するようならば少なくとも1章を実行してみる。
たいちう様
HPを参考にし、試行錯誤してなんとか動作させることができました。
ありがとうございました。