VCネタ

仕事で足りないプログラム分は家で補給・・・。
はえ、腰痛があるので家でのプログラムは長時間できない。
理由は床にあぐらで座ってるから。腰には悪いんだよね・・・これ。


で、今日はランチャーにポップアップメニューを追加。
これでオプションを表示したり、終了したりするのだ。
で。
まずはリソースビューで「挿入」→「Menu」
これでメニューの土台完成。
空いてるところを適当にダブルクリックして、キャプション書き込む。
で、出てくるポップアップ部分をダブルクリックするとIDとキャプションを書き込むダイアログが出てくる。
ここで使うIDはどっかのヘッダにdefineしてもいいのだが、STRING TABLEに適当な文字列登録して使うと管理が楽。
で、これでメニュー完成。
あとはダイアログのOnRButtonDownをマッピングして、


void CMyDlg::OnRButtonDown(UINT nFlags, CPoint point)
{
   CMenu menu;
   VERIFY(menu.LoadMenu(IDR_POPUPMENU));
   CMenu* pPopup = menu.GetSubMenu(0);
   ASSERT(pPopup != NULL);

   ClientToScreen(&point);

   pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON,
      point.x, point.y, AfxGetMainWnd());
      CDialog::OnRButtonDown(nFlags, point);
}


こんな感じでOK。
IDR_POPUPMENUはメニューを挿入した時のIDを。


・・・これ、画面写真ないと分かりにくいかな・・・
次は画面キャプチャして掲載するか。