0

Windows には、ウィンドウの属性に対応する多数のウィンドウ スタイルがありSetWindowLongPtr、 をパラメーターGWL_EXSTYLEまたはと共に使用すると、GWL_STYLEこれらの属性のオン/オフを切り替えることができます。たとえばWS_CAPTION、ウィンドウのタイトル バーのオン/オフを切り替えるために使用できます。HWND のクラス メニューのオン/オフの切り替えにも対応するウィンドウ スタイルがあるかどうか疑問に思っていました。

注: SetMenuAPI を介してクラス メニューを切り替えることができることは理解していますが、対応するウィンドウ スタイルも存在するかどうかに興味がありました。

ありがとう。

4

2 に答える 2

2

ウィンドウスタイルはありませんが、代わりにクラス値があります。

ウィンドウ クラスがRegisterClass()/を介して登録されるRegisterClassEx()と、WNDCLASS/WNDCLASSEX構造体には次のlpszMenuNameメンバーがあります。

lpszMenuName
タイプ: LPCTSTR

名前がリソース ファイルに表示されるクラス メニューのリソース名。メニューの識別に整数を使用する場合は、MAKEINTRESOURCE マクロを使用します。このメンバーが NULL の場合、このクラスに属するウィンドウには既定のメニューがありません。

パラメータを に設定してSetClassLong()/SetClassLongPtr()を使用すると、特定のウィンドウで使用されるクラスの値を変更できます。nIndexGCLP_MENUNAMElpszMenuName

于 2016-10-13T02:15:31.197 に答える
1

ウィンドウのメニューに対応するスタイルはありません。WNDCLASSEXlpszMenuName構造体のフィールドを有効なメニュー リソース名に設定するか、クラス メニューが要求されていない場合は、クラス メニューのオンとオフを切り替えます。NULL

ウィンドウ クラスは、ウィンドウを作成するためのテンプレートであることに注意してください。ウィンドウを作成するときに、CreateWindowExへの呼び出しでメニュー エントリをオーバーライドできます。

于 2016-10-13T01:24:17.960 に答える