0

OnNcLButtonDown() と OnNcMouseMove() および OnNcHitTest() メソッドと共に OnNcPaint() メソッドをオーバーライドします。そのため、ウィンドウの元のメニューは存在しません。キャプション バーの領域にメニューを追加したい。これどうやってするの?

どうもありがとうございました!

4

1 に答える 1

1

メニューは、非クライアント領域の一部として描かれています。したがって、クライアント以外の独自のペイントを行う場合は、ウィンドウを自分で描画する必要もあります。TrackPopupMenuを使用して何かをハックして実際のメニュー描画を行うことができる場合があり、メニューバーとトップレベルのメニュー項目を自分で処理する必要があります。

クライアント以外の領域を自分で描くことは危険に満ちています。オーナーが描いたメニューだけを使いたくないですか?

正確なニーズに合わせてUIダイアログを微調整したくなるかもしれませんが、ウィンドウのルックアンドフィールにすでに慣れているユーザーにとっては不快感を与えることにも注意してください。

于 2009-01-05T19:58:07.667 に答える