One word: Ownerdraw In a nutshell, you cannot set a magic "font" property (unless maybe VB supports that sort of craziyness) you will need to set the MF_OWNERDRAW flag for each menu item that you want customized & then handle the resulting WM_MEASUREITEM and WM_DRAWITEM messages to actually draw the menu item yourself. Before a menu is displayed windows sends WM_MEASUREITEM to the parent window to get the minimum dimensions for each item with the MF_OWNERDRAW flag set. After querying for the size, windows will send a WM_DRAWITEM message (again, for each ownerdraw menu item) that you can use to draw the menu item with any one of your favorite GDI calls. One little note, you may want to keep a map (or collection of some sort) to keep track of the menu item text, it tends to get forgotten when you mark a menu item as ownerdraw. There are also some samples here on code project that you should check out to help you along. Happy coding :)