ICON Wechsel ohne :configure ?
Moderator: Moderatoren
- Manfred
- Foren-Administrator
- Beiträge: 21199
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
ICON Wechsel ohne :configure ?
Hi,
den Titeltext kann man ja mit :setTitle() direkt ändern. Aber wenn ich das Icon oben links nachträglich ändern will/muß, dann mache ich das mit :configure(). Leider flackert dann kurzfristig der Bildschirm. (Martin, Du hast es letztens gesehen und gedacht, es wäre ein Fehler)
Gibt es eine andere Möglichkeit, das Icon nachträglich zu ändern?
den Titeltext kann man ja mit :setTitle() direkt ändern. Aber wenn ich das Icon oben links nachträglich ändern will/muß, dann mache ich das mit :configure(). Leider flackert dann kurzfristig der Bildschirm. (Martin, Du hast es letztens gesehen und gedacht, es wäre ein Fehler)
Gibt es eine andere Möglichkeit, das Icon nachträglich zu ändern?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2126
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 75 Mal
Re: ICON Wechsel ohne :configure ?
Servus Manfred,
hast Du inzwischen eine Lösung gefunden?
hast Du inzwischen eine Lösung gefunden?
es grüßt
Werner
<when the music is over, turn off the lights!>
Werner
<when the music is over, turn off the lights!>
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: ICON Wechsel ohne :configure ?
PDR 5314Werner_Bayern hat geschrieben:hast Du inzwischen eine Lösung gefunden?
siehe auch http://www.xbaseforum.de/viewtopic.php?f=23&t=4770
gruss by OHR
Jimmy
Jimmy
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2126
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 75 Mal
Re: ICON Wechsel ohne :configure ?
Servus Jimmy,
danke. Und wie bekomme ich das ICON-Handle, wenn es in der ARC ist? So zeigt er mir ein falsches Icon an, wobei nIcon die ID wäre, die über oDlg:Icon := nIcon zugewiesen würde:
danke. Und wie bekomme ich das ICON-Handle, wenn es in der ARC ist? So zeigt er mir ein falsches Icon an, wobei nIcon die ID wäre, die über oDlg:Icon := nIcon zugewiesen würde:
Code: Alles auswählen
DllCall( "USER32.DLL", DLL_STDCALL, "SendMessageA", oDlg:getHWND(), WM_SETICON, ICON_SMALL, nIcon)
es grüßt
Werner
<when the music is over, turn off the lights!>
Werner
<when the music is over, turn off the lights!>
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: ICON Wechsel ohne :configure ?
wieso ARC ??? entweder im EXE oder in einer DLL.Werner_Bayern hat geschrieben:danke. Und wie bekomme ich das ICON-Handle, wenn es in der ARC ist?
Code: Alles auswählen
//check, if the DLL exists
IF FILE( cDll )
//get the handle ID of the DLL
::nDllHandle := DllInfo( cDll, DLL_INFO_HANDLE )
IF ::nDllHandle != 0
//get the icon handle
::nIconHandle := DllCall( "USER32.DLL", DLL_STDCALL, "LoadIconA",::nDllHandle, nIconResId )
IF ::nIconHandle != 0
//as everything is ok hte icon can be used
DllCall( "USER32.DLL", DLL_STDCALL, "SendMessageA", ::getHWND(),WM_SETICON, ICON_SMALL, ::nIconHandle )
gruss by OHR
Jimmy
Jimmy
- Manfred
- Foren-Administrator
- Beiträge: 21199
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: ICON Wechsel ohne :configure ?
Hi Werner,
da hast Du aber eine große Schüppe hervorgeholt um in dem alten Thread zu graben. Nein, so wie ich das erkennen kann mache ich es immer noch so wie oben beschrieben.
da hast Du aber eine große Schüppe hervorgeholt um in dem alten Thread zu graben. Nein, so wie ich das erkennen kann mache ich es immer noch so wie oben beschrieben.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2126
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 75 Mal
Re: ICON Wechsel ohne :configure ?
Das meinte ich ja, ich hab die Icons in der ARC, also in der Exe. Über die ID geht es offensichtlich nicht, also brauche ich auch ein Handle für das Icon aus der EXE?AUGE_OHR hat geschrieben:wieso ARC ??? entweder im EXE oder in einer DLL.
es grüßt
Werner
<when the music is over, turn off the lights!>
Werner
<when the music is over, turn off the lights!>
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: ICON Wechsel ohne :configure ?
versuche es mal damitWerner_Bayern hat geschrieben:Das meinte ich ja, ich hab die Icons in der ARC, also in der Exe. Über die ID geht es offensichtlich nicht, also brauche ich auch ein Handle für das Icon aus der EXE?
Code: Alles auswählen
#include "AppEvent.ch"
#include "DLL.ch"
#define ICON_SMALL 0
#define ICON_BIG 1
#define WM_SETICON 0x0080
PROCEDURE Main()
LOCAL oForm
LOCAL nEvent, mp1, mp2, oXbp
oForm = XbpDialog():New( AppDesktop() ,,{0,0}, {800,600},, .T. )
oForm:TaskList := .T.
oForm:Title := "Test Application"
oForm:Icon := 1 // hier 1
oForm:Create()
CenterControl( oForm )
oForm:Show()
SetAppFocus( oForm )
ChangeIcon(oForm)
nEvent = xbeP_None
DO WHILE nEvent != xbeP_Close
nEvent = AppEvent( @mp1, @mp2, @oXbp )
oXbp:HandleEvent( nEvent, mp1, mp2 )
ENDDO
oForm:Destroy()
RETURN
PROCEDURE ChangeIcon(oDlg)
LOCAL oIcon
oIcon := XbpIcon():New():create()
oIcon:Load(, 2, 16, 16 ) // hier 2
DllCall( "USER32.DLL", DLL_STDCALL, "SendMessageA", oDlg:getHWND(),WM_SETICON,ICON_SMALL, oIcon:Handle )
RETURN
gruss by OHR
Jimmy
Jimmy
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2126
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 75 Mal
Re: ICON Wechsel ohne :configure ?
=D>
es grüßt
Werner
<when the music is over, turn off the lights!>
Werner
<when the music is over, turn off the lights!>
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: ICON Wechsel ohne :configure ?
Wenn die Funktionsnamen nur in CODE Tags stehen, werden die nicht gefunden, daher mal ein paar Suchbegriffe für die Zukunft
ChangeIcon SetIcon XbpWindow Icon
ChangeIcon SetIcon XbpWindow Icon
Gruß
Hubert
Hubert