Rounding the corners of a Box object in AppWizard

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Rounding the corners of a Box object in AppWizard

      Hey guys,

      Is there a way that I can set the radius of a Box object's corners from AppWizard? If not in AppWizard, is there a way through code to round corners to an AppWizard Box object? Let me know and thanks!
    • Hi,

      unfortunately, the AppWizard does not currently offer the possibility to draw rounded rectangles via the Box object. But such a feature definitely makes sense and we will consider adding it with a future release.

      As for now, you can create a window in your application that draws a rounded rectangle. Add an interaction for your screen on INITDIALOG and set NULL as the job (e.g. ID_SCREEN_0 -> INITDIALOG -> NULL).

      This will generate a slot routine in the slot file of the screen, where you can create the window, that draws the rectangle. Like this:

      C Source Code

      1. static void _cbWin(WM_MESSAGE * pMsg) {
      2. GUI_RECT Rect;
      3. switch(pMsg->MsgId) {
      4. case WM_PAINT:
      5. GUI_SetBkColor(GUI_WHITE);
      6. GUI_Clear();
      7. GUI_SetColor(GUI_BLACK);
      8. WM_GetClientRect(&Rect);
      9. GUI_DrawRoundedRectEx(&Rect, 5);
      10. break;
      11. default:
      12. WM_DefaultProc(pMsg);
      13. }
      14. }
      15. /*********************************************************************
      16. *
      17. * ID_SCREEN_00__APPW_NOTIFICATION_INITDIALOG
      18. */
      19. void ID_SCREEN_00__APPW_NOTIFICATION_INITDIALOG(APPW_ACTION_ITEM * pAction, WM_HWIN hScreen, WM_MESSAGE * pMsg, int * pResult) {
      20. GUI_USE_PARA(pAction);
      21. GUI_USE_PARA(hScreen);
      22. GUI_USE_PARA(pMsg);
      23. GUI_USE_PARA(pResult);
      24. WM_CreateWindowAsChild(0, 0, 100, 100, hScreen, WM_CF_SHOW, _cbWin, 0);
      25. }
      Display All
      Since AppWizard cannot compile slot routine code, the rectangle will only be visible in the Simulation project, not in the AppWizard tool.

      Best regards,
      Florian
      Please read the forum rules before posting.

      Keep in mind, this is *not* a support forum.
      Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
      Should you be entitled to support you can contact us via our support system: segger.com/ticket/

      Or you can contact us via e-mail.