私は MFC アプリケーションを開発しています。最近、Windows のタイトル バーからアイコンを削除し、閉じるボタンを保持するための適切な方法を探していました。2 つの明白な解決策の候補は、システム メニュー スタイルをオフにするか、ツール ウィンドウ スタイルを使用することですが、システム メニューを無効にしたり、縮小されたツール ウィンドウのタイトル バーを使用したりしないことをお勧めします。多くの MFC アプリケーションにはこの機能があります。
3621 次
6 に答える
2
WM_NCRBUTTONDOWN
ユーザーがキャプションを右クリックしたかどうかを検出し、システムメニューを表示するために使用できます。
于 2008-08-14T01:28:13.567 に答える
2
完全に透明なアイコンを使用できます。
于 2011-06-05T21:04:39.117 に答える
0
システムメニューを削除して、自分で別の場所(たとえば、閉じるボタンの横など)に戻すのはどうですか?
于 2008-08-13T17:12:52.490 に答える
0
アイコンがない場合、ユーザーがシステム メニューにアクセスする唯一の方法は、タイトルバーを右クリックすることです。
そのように考えている場合は、メイン フレームで WM_RBUTTONDOWN を処理し、右クリックがタイトル バー上にあるかどうかを計算できます。
int clickX = GET_X_LPARAM(lParam);
int clickY = GET_Y_LPARAM(lParam);
CRect frameRect;
mainFrame.GetWindowRect(&frameRect);
int titleBarHeight = GetSystemMetrics(SM_CYCAPTION);
if (clickX >= frameRect.left &&
clickX <= frameRect.right &&
clickY >= frameRect.top &&
clickY <= frameRect.top + titleBarHeight)
{
TrackPopupMenu(m_systemMenu);
}
于 2008-08-14T00:49:13.007 に答える