54 lines
1.3 KiB
C++
54 lines
1.3 KiB
C++
///////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/msw/private/menu.h
|
|
// Purpose: Structs used to custom draw and measure menu bar in wxMSW
|
|
// Author: Vadim Zeitlin
|
|
// Created: 2025-01-24
|
|
// Copyright: (c) 2025 wxWidgets development team
|
|
// Licence: wxWindows licence
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_MSW_PRIVATE_MENU_H_
|
|
#define _WX_MSW_PRIVATE_MENU_H_
|
|
|
|
namespace wxMSWMenuImpl
|
|
{
|
|
|
|
// Definitions for undocumented messages and structs used in this code.
|
|
constexpr int WM_MENUBAR_DRAWMENU = 0x91;
|
|
constexpr int WM_MENUBAR_DRAWMENUITEM = 0x92;
|
|
constexpr int WM_MENUBAR_MEASUREMENUITEM = 0x94;
|
|
|
|
// This is passed via LPARAM of WM_MENUBAR_DRAWMENU.
|
|
struct MenuBarDrawMenu
|
|
{
|
|
HMENU hmenu;
|
|
HDC hdc;
|
|
DWORD dwReserved;
|
|
};
|
|
|
|
struct MenuBarMenuItem
|
|
{
|
|
int iPosition;
|
|
|
|
// There are more fields in this (undocumented) struct but we don't
|
|
// currently need them, so don't bother with declaring them.
|
|
};
|
|
|
|
struct MenuBarDrawMenuItem
|
|
{
|
|
DRAWITEMSTRUCT dis;
|
|
MenuBarDrawMenu mbdm;
|
|
MenuBarMenuItem mbmi;
|
|
};
|
|
|
|
struct MenuBarMeasureMenuItem
|
|
{
|
|
MEASUREITEMSTRUCT mis;
|
|
MenuBarDrawMenu mbdm;
|
|
MenuBarMenuItem mbmi;
|
|
};
|
|
|
|
} // namespace wxMSWMenuImpl
|
|
|
|
#endif // _WX_MSW_PRIVATE_MENU_H_
|