Deutsch
Forum

Toolbar

 
- Seite 1 -



Thomas
Freier
Ich finde keine Lösung oder den Fehler. Beim ersten Aufruf ist die Toobar wie gewünscht. Beim nächten Aufruf fehlen mir die Ico. Was mache ich falsch?
KompilierenMarkierenSeparieren
 $H Windows.ph
Declare Ende%
var hToolBmp& = @create("hPic", 0, "TOOLBAR")
var hIL& = @Create("ImageList", 16, 16, hToolBmp&, rgb(192, 192, 192))
CLS ~GetSysColor(~Color_BTNFACE)
var D_Font&=@Create("Font","Verdana",14,0,0,0,0)
SETDIALOGFONT D_Font&
WindowTitle "Neues Projekt"
PopUp "&Programm"
AppendMenu 101,"Dialog öffnen"
Separator
AppendMenu 103,"&Ende"

Whilenot Ende%

    Waitinput

    If @MenuItem(103)

        Ende%=1

    ElseIf @MenuItem(101)

        ERFASSUNG

    EndIf

EndWhile

DeleteObject hToolBmp&
DeleteObject hIL&
DeleteObject D_Font&
End

Proc ERFASSUNG

    var dlg&=Create("Dialog",%hwnd,"Rechnungen",310,210,800,490)
    var  hToolbar& = @Create("TOOLBAR", dlg&, hIL&, 0, 0, 2000, 1)
    Toolbar("AddButton", hToolbar&, 11, 1150, "Alle anzeigen")
    Toolbar("AddButton", hToolbar&, 1, 1151, "Offene anzeigen")
    Toolbar("AddButton", hToolbar&, 60, 1152, "Bezahlte anzeigen")
    Toolbar("Separator", hToolbar&)
    Toolbar("AddButton", hToolbar&, 14, 1156, "Rechnung anzeigen")
    Waitinput
    DestroyWindow(dlg&)

EndProc

 
Gruß Thomas
Windows XP SP2, XProfan X2
06.10.2011  
 



 
- Seite 1 -


Das Problem ist vlt. das Du mit DestroyWindow(dlg&) auch die Toolbar zerstörst und dies scheinbar die ImageListe mitreißt.

Ohne DestroyWindow(dlg&) oder mit DestroyWindow(dlg&) und erneutem hIL& = @Create("ImageList", 16, 16, hToolBmp&, rgb(192, 192, 192)) funktioniert es jedenfalls.

Vlt. insgesamt solch Fenster nicht "zerstören" sondern ein- und ausblenden.
 
06.10.2011  
 




Thomas
Freier
Bleibt halt nur die "ImageList" zu erneuern. Schade!
 
Gruß Thomas
Windows XP SP2, XProfan X2
07.10.2011  
 



 
07.10.2011  
 



Du musst nur die Imageliste "befreien", dann gehts.
KompilierenMarkierenSeparieren
Proc ERFASSUNG

    var dlg&=Create("Dialog",%hwnd,"Rechnungen",310,210,800,490)
    var  hToolbar& = @Create("TOOLBAR", dlg&, hIL&, 0, 0, 2000, 1)
    Toolbar("AddButton", hToolbar&, 11, 1150, "Alle anzeigen")
    Toolbar("AddButton", hToolbar&, 1, 1151, "Offene anzeigen")
    Toolbar("AddButton", hToolbar&, 60, 1152, "Bezahlte anzeigen")
    Toolbar("Separator", hToolbar&)
    Toolbar("AddButton", hToolbar&, 14, 1156, "Rechnung anzeigen")
    Waitinput
    SendMessage(hToolbar&, $430, 0, 0)'TB_SETIMAGELIST
    DestroyWindow(dlg&)

EndProc

 
07.10.2011  
 



Meinst Du es wäre sinnvoll und machbar das Roland das mit einbaut?
 
07.10.2011  
 



Machbar, sicher. Sinnvoll ists wohl nicht, jede Message gleich umzusetzen.
 
07.10.2011  
 



Schade das Du meine Frage nicht verstanden hast.

Gäbe es einen Nachteil diese spezielle Nachricht:
KompilierenMarkierenSeparieren
SendMessage(hToolbar&, $430, 0, 0)'TB_SETIMAGELIST

grundsätzlich anzuwenden?
 
07.10.2011  
 




Thomas
Freier
Im Beispiel gehts ja.
Im Programm bei mir noch nicht. Da ist es die vorhandene Gridbox mit Icon , die auch die ImageListe mitreißt die Ursache.
KompilierenMarkierenSeparieren
 
Gruß Thomas
Windows XP SP2, XProfan X2
08.10.2011  
 



Wie siehts mit:

iF (06.10.11)

Vlt. insgesamt solch Fenster nicht "zerstören" sondern ein- und ausblenden.


aus?
 
08.10.2011  
 




Thomas
Freier
Ist machbar, aber im Moment noch nicht meine Arbeitsweise. Das "Create("ImageList",....) ist jetzt in einer Proc und wird dann bei Bedarf erneuert.
 
Gruß Thomas
Windows XP SP2, XProfan X2
08.10.2011  
 



Für Listviews ist ne andere Message zuständig. Funktioniert denn sendmessage(O_Lv&,~LVM_SETIMAGELIST,~LVSIL_SMALL,0) nicht?

Ansonsten muss man auch mal im MSDN nachlesen: The current image list will be destroyed when the list-view control is destroyed unless the LVS_SHAREIMAGELISTS style is set.

Wenn das oben also nicht geht, dann im Listview vorher den Style LVS_SHAREIMAGELISTS setzen, um zu verhindern, das die IList mit zerstört wird.
 
08.10.2011  
 



 
- Seite 2 -



Thomas
Freier
@Frank: Danke für deine "Befreiungstipps". Klappt jetzt bestens.
 
Gruß Thomas
Windows XP SP2, XProfan X2
08.10.2011  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

16.881 Betrachtungen

Unbenanntvor 0 min.
Manfred Barei23.05.2021
Claus de Lieth18.10.2017
Wilfried20.05.2016
Ernst10.05.2016
Mehr...

Themeninformationen

Dieses Thema hat 3 Teilnehmer:

iF (5x)
Thomas Freier (5x)
unbekannt (3x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie