Mercurial > dwindows
comparison dw.hpp @ 2889:4b075e64536c
C++: Add some simple menu code to see if things are working.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Thu, 22 Dec 2022 19:20:39 +0000 |
parents | df1b7f7d1703 |
children | ab4c86ddc63a |
comparison
equal
deleted
inserted
replaced
2888:ec0d34798706 | 2889:4b075e64536c |
---|---|
165 } | 165 } |
166 HMENUI menu; | 166 HMENUI menu; |
167 public: | 167 public: |
168 // User functions | 168 // User functions |
169 HMENUI GetHMENUI() { return menu; } | 169 HMENUI GetHMENUI() { return menu; } |
170 MenuItem *MenuItemNew(const char *title, unsigned long id, unsigned long flags, int end, int check, Menus *submenu); | 170 MenuItem *AppendItem(const char *title, unsigned long id, unsigned long flags, int end, int check, Menus *submenu); |
171 MenuItem *MenuItemNew(const char *title, Menus *submenu); | 171 MenuItem *AppendItem(const char *title, Menus *submenu); |
172 MenuItem *MenuItemNew(const char *title); | 172 MenuItem *AppendItem(const char *title); |
173 }; | 173 }; |
174 | 174 |
175 class Menu : public Menus | 175 class Menu : public Menus |
176 { | 176 { |
177 public: | 177 public: |
197 // Constructors | 197 // Constructors |
198 MenuItem(Menus *menu, const char *title, unsigned long id, unsigned long flags, int end, int check, Menus *submenu) { | 198 MenuItem(Menus *menu, const char *title, unsigned long id, unsigned long flags, int end, int check, Menus *submenu) { |
199 SetHWND(dw_menu_append_item(menu->GetHMENUI(), title, id, flags, end, check, submenu ? submenu->GetHMENUI() : DW_NOMENU)); | 199 SetHWND(dw_menu_append_item(menu->GetHMENUI(), title, id, flags, end, check, submenu ? submenu->GetHMENUI() : DW_NOMENU)); |
200 } | 200 } |
201 MenuItem(Menus *menu, const char *title, Menus *submenu) { | 201 MenuItem(Menus *menu, const char *title, Menus *submenu) { |
202 SetHWND(dw_menu_append_item(menu->GetHMENUI(), title, DW_MENU_AUTO, 0, TRUE, FALSE, submenu)); | 202 SetHWND(dw_menu_append_item(menu->GetHMENUI(), title, DW_MENU_AUTO, 0, TRUE, FALSE, submenu ? submenu->GetHMENUI() : DW_NOMENU)); |
203 } | 203 } |
204 MenuItem(Menus *menu, const char *title) { | 204 MenuItem(Menus *menu, const char *title) { |
205 SetHWND(dw_menu_append_item(menu->GetHMENUI(), title, DW_MENU_AUTO, 0, TRUE, FALSE, DW_NOMENU)); | 205 SetHWND(dw_menu_append_item(menu->GetHMENUI(), title, DW_MENU_AUTO, 0, TRUE, FALSE, DW_NOMENU)); |
206 } | 206 } |
207 | 207 |
208 // User functions | 208 // User functions |
209 void SetState(unsigned long flags) { dw_window_set_style(hwnd, flags, flags); } | 209 void SetState(unsigned long flags) { dw_window_set_style(hwnd, flags, flags); } |
210 void SetStyle(unsigned long flags, unsigned long mask) { dw_window_set_style(hwnd, flags, mask); } | 210 void SetStyle(unsigned long flags, unsigned long mask) { dw_window_set_style(hwnd, flags, mask); } |
211 }; | 211 }; |
212 | 212 |
213 MenuItem *Menus::MenuItemNew(const char *title, unsigned long id, unsigned long flags, int end, int check, Menus *submenu) { | 213 MenuItem *Menus::AppendItem(const char *title, unsigned long id, unsigned long flags, int end, int check, Menus *submenu) { |
214 return new MenuItem((Menus *)menu, title, id, flags, end, check, submenu); | 214 return new MenuItem((Menus *)menu, title, id, flags, end, check, submenu); |
215 } | 215 } |
216 | 216 |
217 MenuItem *Menus::MenuItemNew(const char *title, Menus *submenu) { | 217 MenuItem *Menus::AppendItem(const char *title, Menus *submenu) { |
218 return new MenuItem((Menus *)menu, title, submenu); | 218 return new MenuItem((Menus *)menu, title, submenu); |
219 } | 219 } |
220 MenuItem *Menus::MenuItemNew(const char *title) { | 220 MenuItem *Menus::AppendItem(const char *title) { |
221 return new MenuItem((Menus *)menu, title); | 221 return new MenuItem((Menus *)menu, title); |
222 } | 222 } |
223 | 223 |
224 | 224 |
225 // Top-level window class is packable | 225 // Top-level window class is packable |
274 int Raise() { return dw_window_raise(hwnd); } | 274 int Raise() { return dw_window_raise(hwnd); } |
275 int Lower() { return dw_window_lower(hwnd); } | 275 int Lower() { return dw_window_lower(hwnd); } |
276 void Redraw() { dw_window_redraw(hwnd); } | 276 void Redraw() { dw_window_redraw(hwnd); } |
277 void Default(Widget *defaultitem) { if(defaultitem) dw_window_default(hwnd, defaultitem->GetHWND()); } | 277 void Default(Widget *defaultitem) { if(defaultitem) dw_window_default(hwnd, defaultitem->GetHWND()); } |
278 void SetIcon(HICN icon) { dw_window_set_icon(hwnd, icon); } | 278 void SetIcon(HICN icon) { dw_window_set_icon(hwnd, icon); } |
279 Menus *MenuBarNew() { if(!menu) menu = new MenuBar(hwnd); return menu; } | 279 MenuBar *MenuBarNew() { if(!menu) menu = new MenuBar(hwnd); return menu; } |
280 void Popup(Menus *menu, int x, int y) { | 280 void Popup(Menu *menu, int x, int y) { |
281 if(menu) { | 281 if(menu) { |
282 HMENUI pmenu = menu; | 282 HMENUI pmenu = menu; |
283 | 283 |
284 dw_menu_popup(&pmenu, hwnd, x, y); | 284 dw_menu_popup(&pmenu, hwnd, x, y); |
285 delete menu; | 285 delete menu; |
286 } | 286 } |
287 } | 287 } |
288 void Popup(Menus *menu) { if(menu) { | 288 void Popup(Menu *menu) { |
289 if(menu) { | |
289 long x, y; | 290 long x, y; |
290 HMENUI pmenu = menu; | 291 HMENUI pmenu = menu; |
291 | 292 |
292 dw_pointer_query_pos(&x, &y); | 293 dw_pointer_query_pos(&x, &y); |
293 dw_menu_popup(&pmenu, hwnd, (int)x, (int)y); | 294 dw_menu_popup(&pmenu, hwnd, (int)x, (int)y); |