1. RE: Binding & Icons
I can only assume you are using Win32Lib. I sent Derek a fix for this a
while back and he actually replied saying that he would consider using
it. Maybe in the next release? If I find (or remember) the fix I will
post it here.
-- Brian
jordah ferguson wrote:
> Hi all,
>
> has anyone noticed that when you press Alt+Tab to show you current
> running applications Eu app don't display their icons?
>
> When i bind my app and run it and press Alt+tab ....i still see the icon
>
> IDI_APPLICATION instead of the icon i used when binding my APP
>
> jordah
>
> make progress....or stand Aside
> jorfergie03 at yahoo.com
>
>
2. RE: Binding & Icons
It sounds like he's trying to override the win32lib defined icon using
bindw.exw. Is that possible?
And the icon used by the ALT+TAB window, is the normal(large) icon.
I checked.
Chris
Wolf wrote:
> > has anyone noticed that when you press Alt+Tab to show you current
> > running applications Eu app don't display their icons?
> > When i bind my app and run it and press Alt+tab ....i still see the icon
> >
> > IDI_APPLICATION instead of the icon i used when binding my APP
>
> ...methinks, when you hit ALT + TAB, what's shown is the icon in the
> program's title bar,
> *not* the icon that Explorer shows.
> To get your icon into the title bar using win32lib, you'll have to use
> some code in your startup routine, for example:
>
> procedure start_up()
> atom jk
> -- get the icon from your .exe'
> jk = w32Func(xLoadIcon,{instance(),allocate_string("exw")})
> -- and insert it in the program's title bar.
> jk = sendMessage(YourWin,WM_SETICON, 1, jk)
>
> ... where 'YourWin' is your 'WinMain' id
>
>
3. RE: Binding & Icons
Ah yes, that reminds me of my fix that I hope Derek implements (my
changes are marked by --BKB:
in Win32Lib_full.ew:
---------------------------------------------------------------------
procedure registerClass( atom szClassName )
-- register the application class
atom wndClassEx
--BKB begin (added)
atom exw
exw = allocate_string("exw")
--BKB end
-- get some memory for the window class structure
wndClassEx = acquire_mem(0, SIZEOF_WNDCLASSEX)
-- build the structure
store( wndClassEx, winExSize, SIZEOF_WNDCLASSEX)
store( wndClassEx, winExStyle, or_all(vWindowClassStyle))
store( wndClassEx, winExProc, WndProcAddress)
store( wndClassEx, winExClsExtra, 0)
store( wndClassEx, winExExtra, 0)
store( wndClassEx, winExInstance, instance())
--BKB begin (modified)
store( wndClassEx, winExIcon, w32Func( xLoadIcon, { instance(), exw
} ) )
--BKB end
store( wndClassEx, winExCursor, w32Func( xLoadCursor, { NULL,
IDC_ARROW } ) )
store( wndClassEx, winExBackground, WindowColor+1 )
store( wndClassEx, winExMenuName, NULL)
store( wndClassEx, winExClassName, szClassName )
--BKB begin (modified)
store( wndClassEx, winExIconSm, w32Func( xLoadIcon, { instance(),
exw } ) )
--BKB end
if w32Func( xRegisterClassEx, { wndClassEx } ) = 0 then
abortErr( Err_REGCLASS )
end if
--BKB begin (added)
free(exw)
--BKB end
-- Free structure
release_mem( wndClassEx )
end procedure
---------------------------------------------------------------------
With this fix in place, you only need to use setIcon(Win,"some.ico") for
unbound programs, and it doesn't hurt if you leave that line in your
bound program...
Now your icon shows in the window title bar, the system tray, *and* the
alt-tab window.
Not sure why Derek decided to hold off on adding this...
-- Brian
Wolf wrote:
> > has anyone noticed that when you press Alt+Tab to show you current
> > running applications Eu app don't display their icons?
> > When i bind my app and run it and press Alt+tab ....i still see the icon
> >
> > IDI_APPLICATION instead of the icon i used when binding my APP
>
> ...methinks, when you hit ALT + TAB, what's shown is the icon in the
> program's title bar,
> *not* the icon that Explorer shows.
> To get your icon into the title bar using win32lib, you'll have to use
> some code in your startup routine, for example:
>
> procedure start_up()
> atom jk
> -- get the icon from your .exe'
> jk = w32Func(xLoadIcon,{instance(),allocate_string("exw")})
> -- and insert it in the program's title bar.
> jk = sendMessage(YourWin,WM_SETICON, 1, jk)
>
> ... where 'YourWin' is your 'WinMain' id
>
>
4. RE: Binding & Icons
Hi Professor API Euman
euman at bellsouth.net wrote:
> Hey Jordah,
>
> How is the EMail proggy comeing along?
Very well indeed soon sending an update....thanx for asking
> Your question, I noticed that too....
> it has to do with the window not being invalidated upon return to view.
>
> try junk = c_func(xInvalidateRect,{hwnd,0,0}) on a WM_ACTIVATE
> message. Im not sure what the Win32lib equivalent is.
i am going to try what you have suggested, i had high bets it was the
euphoria interprter not win32lib. Anyway have you tried binding your
proggys with the above code and they show OK
> Euman
Jordah Ferguson
Make Progress....or Stand Aside
ps: Have you got any GUI of yoour installer you would like me to test on
my ancient machines....i'd be happy to? i have nothing to do here at
home
>
> ----- Original Message -----
> From: "jordah ferguson" <jorfergie03 at yahoo.com>
> To: "EUforum" <EUforum at topica.com>
> Sent: Thursday, May 02, 2002 6:31 AM
> Subject: Binding & Icons
>
>
> > Hi all,
> >
> > has anyone noticed that when you press Alt+Tab to show you current
> > running applications Eu app don't display their icons?
> >
> > When i bind my app and run it and press Alt+tab ....i still see the icon
> >
> > IDI_APPLICATION instead of the icon i used when binding my APP
> >
> > jordah
> >
> > make progress....or stand Aside
> > jorfergie03 at yahoo.com
> >
> >