Beiträge von DasIch

    Hallo zusammen,


    ich habe eine ListView, die ich per Knopfdruck mit Daten fülle. Nun ist dieser Button mit "aufklappen" markiert und soll genau dieses auch machen.


    Drückt man drauf, soll sich die Mainform "erweitern" und untendrunter soll eine ListView stehen. Drückt man wieder drauf, das umgekehrte.


    Ist das irgendwie realisierbar?


    Sourcecode mit dem ich teste:



    Ich danke vorab für alle Antworten.


    LG,

    der Robert

    Hallo,


    Das Ich nochmal :P


    Ganz so einfach gehts wohl dann doch nicht.. Ich habe seit gestern versucht, per GUISetOnEvent() einen Buttonklick abzufangen. Allerdings tut sich rein gar nichts :(


    Könnte jemand bitte einmal drüberschauen wo ich den Fehler habe?



    Dankesehr!

    Bei der IP müssten es glaube ich vier slashes sein. Glaube aber nicht, dass es daran liegen wird. Der Einwand von AutoIter klingt am logischsten, wenn der Code den du uns gepostet hast komplett ist, dann fehlt einfach der Aufruf der Funktion.

    Probier mal statt


    Code
    $config = "\\192.168.9.170\Export\office\buero\XXXXX\vordrucke\programme\Config\Meeting.ini"

    das hier:

    Code
    $config = "\\\\192.168.9.170\\Export\\office\\buero\\XXXXX\\vordrucke\\programme\\Config\\Meeting.ini"

    Verwende den OnEventModus für deine GUI, dann ist die Nachrichtenschleife praktisch nicht mehr existent und entkoppelt von deinem Sleep für die Prüfung.


    Wenn du das ganze auf die Spitze treiben willst kannst du auch sowas wie SHNotify verwenden, womit Windows dann eine Eventfunktion von dir aufruft, wenn an einer Datei innerhalb eines Ordners etwas verändert wurde.

    Oh Gott, ich bin so dumm. Danke dir, hat funktioniert :)

    Hallo zusammen,


    eines vorweg zur besseren Vorstellung: Ich spiele Diablo 2 und mache gerade sog. Speedruns. Dabei macht man in schnellen Durchgängen immer wieder das selbe und zählt die Anzahl der Runs mit.

    Um das nicht alles selbst machen zu müssen, habe ich mir ein Script gebastelt, welches einfach nur schaut, wann die Speicherzeit des Charakters sich geändert hat.

    Das funktioniert soweit auch wunderbar. Allerdings ist das Problem, dass er beim schließen des Fensters ewig nicht reagiert weil ich im "While" ein "Sleep(150)" eingebaut habe mit anschließender Prüfung des last changed Attributes.


    Hier der Code:


    Wie schaffe ich es, dass das Script im Hintergrund _Counter() ausführt ohne dabei das GUI zu freezen?


    Vielen Dank für alle Antworten und LG,

    der Robert


    P.S.: Das hier ist kein Bot, sondern soll einfach nur zählen :P

    Evtl. änderst du noch den Titel dieses Threads...

    Falsch: Den Background einzelner ListBOX Elemente ändern

    Richtig: Den Background einzelner ListView Elemente ändern

    Passender wäre: Hintergrundfarbe einzelner ListView-Items/SubItems ändern

    Ich hab die Variante zwei genommen, weil ich als nicht so versierter Scripter danach in Google gesucht habe und daher glaube, dass es so eher gefunden wird, wenn es gebraucht wird :)

    Moment mal.. Quasi alles was ich hätte machen müssen wäre am Anfang eine Überschrift zu setzen?!


    Wow, man sieht manchmal den Wald vor lauter Bäumen nicht :Face:


    Aber deine Art Fehler auszugeben gefällt mir. Das werde ich mal so frech wie ich bin künftig übernehmen.


    DANKE DANKE DANKE! :klatschen:


    Nachtrag: Das Problem mit der Erkennung was fehlt gibt es im Originalscript nicht, daher lasse ich das mal so stehen.

    Hallo nochmal,


    der Errorcode kam von deiner Funktion. wie oben ja auch festgestellt, kann er die Liste wohl nicht finden.


    Ich habe den Code mal separiert und lauffähig hier reingeschrieben. Zwar mit anderen Quelldaten (Datenschutz und so), aber das Fehlerbild ist "zum Glück" das gleiche.


    Ich danke dir vielmals, dass du dir so viel Mühe gibst mir zu helfen, das ist nicht selbstverständlich!


    LG,

    der Robert

    Hallo nochmal und lieben Dank erneut für deine hilfreiche Antwort.


    Leider behebt es das Problem nicht, da nun seltsamerweise keine Einträge in der Listview erstellt werden. Es läuft kurz durch als würde es die Liste befüllen, diese bleibt jedoch leer. Dass der Durchlauf dennoch abgeschlossen wurde, sehe ich wenn ich die MsgBox anzeigen lasse. Zudem werden auch die HiddenLabels befüllt, die ich zur Kontrolle mit eingebaut habe.


    Ich kriege auch noch immer den Error 2, seltsamerweise


    Hier nochmal der Code:


    Grüß' dich bitnugger,


    vielen Dank für deine super Erklärung! Leider funktioniert es jedoch nicht :( Error ist 2, aber warum, weiß ich leider nicht. Der Farbcode kann ja schlecht falsch sein. Hier der Code:


    Hast du eine Idee?


    LG,

    der Robert


    P.S.: Entschuldige die verspätete Antwort, aber ich bin nur sporadisch zuhause am Rechner :)


    Nachtrag:

    Hier noch wie $Grp_lstGroupsLeftUser erstellt wird für den Fall dass irgendein Parameter nicht unterstützt wird von deiner UDF.

    Code
    $Grp_lstGroupsLeftUser = GUICtrlCreateListView("", 16, 160, 361, 410, BitOR($gui_ss_default_list, $ws_hscroll, $lbs_extendedsel))

    Ich verstehe leider kein Wort von dem was dort steht. Ich will einfach nur ausgewählte Zellen umfärben. Brauche ich da wirklich eine komplette UDF dafür?


    Sowas wie _GUICtrlListViewItem_SetBKColor($listview[$index], $color).


    Das Problem ist, dass die ListViewItems alle dynamisch erzeugt werden. Wie kann ich auf einzelne Handles dieser items zugreifen?


    Sie werden so erzeugt :


    Die UDF die du verlinkt hast, ist zwar sehr gut und stark, aber doch "etwas" zu umständlich einzubauen. Oder ich weiß einfach nur nicht, wie.

    Ich weiß leider nicht mehr, warum es keine Alternative war, aber ich hatte listbox seinerzeit (vor 2-3 Jahren als das ganze Programm geschrieben wurde) nehmen müssen, weil irgendwas mit Listview nicht ging.


    War es evtl das Kontextmenü, das sich mit rechtsklick öffnen lassen können soll? Ich weiß es nicht mehr..


    Hier mal die ganze Funktion. Die Listbox wird in einer anderen Funktion mit Einträgen befüllt.

    Hallo zusammen,


    ich bin gerade dabei ein Skript zu schreiben, welches zwei Listboxen miteinander vergleicht und ausschließlich die Einträge, die im jeweils anderen fehlen farblich hervorheben sollen. Allerdings kann ich keinen Weg finden, dies umzusetzen und das Internet hilft mir auch nicht weiter, da scheinbar jeder Listview statt Listbox verwendet. Listview ist allerdings keine Alternative.


    Hier ein Snippet zu dem Problem:

    Code
    For $i = UBound($aListeLinks) - 1 To 1 Step - 1
        If _ArraySearch($aListeRechts, $aListeLinks[$i]) < 0 Then
        GUICtrlSetBkColor(_GUICtrlListBox_SetCurSel($aListeLinks, $i), "0x663366")
    EndIf
    Next


    Ich habe mehrere Wege versucht.. So wie hier oben, dann mit selectrange und selectstring.


    Die Farbe ist einfach irgendeine Farbe, die wird noch geändert :)


    Ich hoffe, es findet sich jemand, der mir helfen kann.


    Vielen Dank und LG,

    der Robert