Search Results

Search results 361-380 of 430.

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

  • Hi, it isn't being drawn correctly since you are drawing in the WM_NOTIFY_PARENT case, but you should only draw in WM_PAINT cases! WM_KEY messages are sent to the window that has input focus. But by default windows can't receive input focus, so this has to be implemented manually. I've attached a sample that does this, you need to copy the cases WM_SET_ID, WM_GET_ID, WM_SET_FOCUS and WM_PID_STATE_CHANGED from _cbWin to your callback. Best regards, Florian

  • Button transparency

    SEGGER - Florian - - emWin related

    Post

    Hi, BUTTON_SetBkColor() only works when not using skinning. The best way to display a button transparent would be to set a callback routine and do nothing, since the button is already a transparent window. What exactly do you mean by transparent background? Thanks and best regards, Florian

  • Hi, generally, you should call GUI_Clear() before you draw anything so the window area gets cleared before something is drawn. Otherwise there could remain artifacts on the screen. Could you provide me with a little more code so I know what is happening exactly? Thanks and best regards, Florian

  • Hi, it looks like transparency is the issue here. Could you send me the code of this bitmap or tell me which bitmap format it is? Best regards, Florian

  • how to use touch in emwin

    SEGGER - Florian - - emWin related

    Post

    Hi, I've attached a sample PIDConf.c for the STM32F746G-Disco which you can take as reference. You have to handle the touch input in the routine PID_X_Exec(). Most important is that you get the touch input by calling the routine that polls the touch data from the touch controller. In this example this is done with BSP_TS_GetState(&TS_State). This data then needs to be sent to emWin by calling GUI_TOUCH_StoreStateEx(&StatePID). Best regards, Florian

  • Hi, you can only draw in the WM_PAINT case of the _cbBk callback routine. All of the drawing has to be done there. Redrawing windows can be done at any time by simply calling WM_InvalidateWindow(). Best regards, Florian

  • Hi, the set owner draw function should define what should be drawn when the widget is disabled. When the widget has the owner draw routine set, is disabled and invalidated, it should be drawn according to the disabled state. Best regards, Florian

  • EMWin Scrollbar problem

    SEGGER - Florian - - emWin related

    Post

    Hi jona, this behavior sounds like when pressing and holding the left/right arrow keys of a scrollbar. I'm wondering, why are you using scrollbars instead of slider widgets? Slider widgets don't have left/right arrow keys on the edges, so the thumb would not be accidentally moved. Note that when calling WM_InvalidateWindow(), the window and all its child windows are redrawn, if the window is transparent. But the invalidation of your widgets could have a lot of reasons, I can't really tell withou…

  • Circular Gradient

    SEGGER - Florian - - emWin related

    Post

    Hi, the arc doesn't get fully redrawn. You can redraw the window e.g. by calling WM_InvalidateWindow(pMsg->hWin) after the value has been updated. Also calling WM_MULTIBUF_Enable(1) could come in handy to avoid flickering. Best regards, Florian

  • PNG image upload

    SEGGER - Florian - - emWin related

    Post

    Hi, I've tried adding a PNG image using the GUIBuilder and it worked just fine. What exactly do you mean by "I don't want to see box type images for TFT"? Best regards, Florian

  • font style change

    SEGGER - Florian - - emWin related

    Post

    Hi, it's not possible to add fonts to the GUIBuilder. You should just pick any of the available fonts and replace it later in the code by the font you want to use. Best regards, Florian

  • ICON_VIEW Text colour

    SEGGER - Florian - - emWin related

    Post

    Hi Vikram, unfortunately it is not possible to set different text colors for different icons, only for the two states "selected" and "unselected". Also, I doubt that it's possible with this widget to align the icons as your image suggests. I would suggest to use normal buttons instead of an iconview widget, since this is much more versatile. You can define the look of each individual button by setting a custom callback routine, where the drawing of the button is handled in the WM_PAINT case. I'v…

  • Hi, there is no default owner draw function per se, what you mean is the default paint routine for the widget. This routine is typically named _Paint() or _OnPaint() and called in the WM_PAINT case of the widget's default callback routine. These routines are located in the file to the corresponding widget. When a custom owner draw routine is set, the custom routine is called instead of the default paint routine. Best regards, Florian

  • Hi, skinning isn't available for the LISTVIEW widget. You can give the widget a custom look by setting an OwnerDraw function to the widget which is similar to skinning. I've attached a sample that demonstrates how to do this. Best regards, Florian

  • Hi, sure, I've posted an example for this in this thread. Best regards, Florian

  • Hi, the sample I've attached is very simple, it demonstrates how to use memory devices. This works in a window as well. Best regards, Florian

  • Hi monjiemegoo, you need to know that the routines GUI_MEMDEV_FadeInWindow() and GUI_MEMDEV_FadeOutWindow() are blocking routines, that means no other code will be executed when these routines are running. I've attached a sample that avoids this blocking and fades out a window. Best regards, Florian

  • Multiple Buffering

    SEGGER - Florian - - emWin related

    Post

    Hi, emWin does all of it automatically after you've activated multi buffering, at least as long as your application is using the window manager. If not, you have to manually switch between buffers using GUI_MULTIBUF_Begin() and GUI_MULTIBUF_End(). I've attached an example LCDConf.c, if you're interested in how emWin switches between buffers, the routines _VSYNC_ISR(), _SwitchBuffersOnVSYNC() and LCD_X_DisplayDriver() might be interesting for you. Best regards, Florian

  • Multiple Buffering

    SEGGER - Florian - - emWin related

    Post

    Hi bio_med, emWin supports multi buffering out of the box, simply call WM_MULTIBUF_Enable(1) to enable it. Best regards, Florian

  • Fast window updation

    SEGGER - Florian - - emWin related

    Post

    Hi Sridhar, the fastest way to do this would probably be this: C Source Code (4 lines)If if doesn't have to be that fast, you can use GUI_Delay(ms) instead of GUI_Exec(). Best regards, Florian