ICON Wechsel ohne :configure ?

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

ICON Wechsel ohne :configure ?

Beitrag von Manfred »

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?
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!!
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: ICON Wechsel ohne :configure ?

Beitrag von Werner_Bayern »

Servus Manfred,

hast Du inzwischen eine Lösung gefunden? :wink:
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: ICON Wechsel ohne :configure ?

Beitrag von AUGE_OHR »

Werner_Bayern hat geschrieben:hast Du inzwischen eine Lösung gefunden? :wink:
PDR 5314
siehe auch http://www.xbaseforum.de/viewtopic.php?f=23&t=4770
gruss by OHR
Jimmy
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: ICON Wechsel ohne :configure ?

Beitrag von Werner_Bayern »

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:

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!>
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: ICON Wechsel ohne :configure ?

Beitrag von AUGE_OHR »

Werner_Bayern hat geschrieben:danke. Und wie bekomme ich das ICON-Handle, wenn es in der ARC ist?
wieso ARC ??? entweder im EXE oder in einer DLL.

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
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: ICON Wechsel ohne :configure ?

Beitrag von Manfred »

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.
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!!
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: ICON Wechsel ohne :configure ?

Beitrag von Werner_Bayern »

AUGE_OHR hat geschrieben:wieso ARC ??? entweder im EXE oder in einer DLL.
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?
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: ICON Wechsel ohne :configure ?

Beitrag von AUGE_OHR »

Werner_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?
versuche es mal damit

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
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: ICON Wechsel ohne :configure ?

Beitrag von Werner_Bayern »

=D>
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: ICON Wechsel ohne :configure ?

Beitrag von brandelh »

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
Gruß
Hubert
Antworten