Das OFFIZIELLE PROFAN SUPPORT FORUM
Einsteigerfragen
PROFAN-Programmierung
Helfer & Tools
Anregungen & Vorschläge
PROFAN-NEWS
Die Regeln!
1 - Einsteigerfragen

 Neues Thema  |  Zur Übersicht  |  Suchen  |  Einloggen   Neuerer Beitrag  |  Älteres Thema 
 markieren von Zeilen im Listview
Autor: schneider johann (180.252.167.---)
Datum:   03.04.22 09:56

Hallo ans freundliche Team,

muss mich leider wieder an euch wenden, da ich ein Problem mit meinen Listview habe.
Ich habe auf meiner Eingabeseite 1 Listview, 2 Choiseboxen und 2 Editfelder. Wenn ich im Listview auf eine Zeile klicke, soll diese gelb hinterlegt werden, was leider nicht funktioniert. Sobald ich auf eine andere Eingabe auswähle, ist das Listview in der Originalfarbe, und die Zeile wird nicht gelb hinterlegt.

Sind das hier die richtigen Zeilen, oder habe ich hier irgend etwas vergessen?

if @getFocus(fehler_liste&)
let zeile_alt% = zeile%
let zeile% = @getCurSel(fehler_liste&)

raiseLine(fehler_liste&, zeile%, -1,Rgb(31,31,20)) ' Zeile gelb einfärnen
upDateListview(fehler_liste&)
endif

Wenn ich mir die Zeilennummern mit print anzeigen lasse, stimmen sie auf 0-basieren und ist ok.

Ich verwende Win 11; Xprofan 11.2 Vollversion; Listview 2.11 - Freeware Version

Könnt Ihr mir weiterhelfen?

mit besten Grüßen aus Ingolstadt
Schneider Johann



Beitrag beantworten
 
 Re: markieren von Zeilen im Listview
Autor: Heinz Brill (---.dip0.t-ipconnect.de)
Datum:   03.04.22 16:32

Ist das Listview auch auf Multiselect (Mehrfachauswahl) eingestellt ?
-> bei Create ....

Ich habe jetzt nicht mehr die Funktionen der Listview.dll im Kopf.
Wenn das mit der DLL-internen Funktion CreateListview() nicht
einzustellen geht, kannst du auch mit der Profan-eigenen Gridbox
arbeiten. Für das Arbeiten mit der Gridbox kannst du auch einfach
das Handle der Profan-Gridbox den Funktionen der DLL mitgeben.

Das Raiseline ist ja dafür gedacht, wenn man mehrere Treffer
(z.B. wenn gesucht wird) hat, die entsprechenden Zeile farbig
zu markieren.

Wenn du jetzt aber den Auswahlbalken meinst, das geht so einfach
nicht. Das hat auch F. Abbing, der Autor der Listview.dll, mal gesagt.

Da mußt du schon bei den Windows-Einstellungen bei Personalisierung
und Farben schauen. Das gilt dann aber für alle Programme, bis es halt
wieder rückgängig gemacht wird.

H.Brill
XProfan X4 + FreeProfan

Nachricht bearbeitet (03.04.22 17:29)

Beitrag beantworten
 
 Re: markieren von Zeilen im Listview
Autor: schneider johann (36.78.15.---)
Datum:   04.04.22 06:55

Hallo Herr Brill,

danke für die schnelle Info, leider schade, das es nicht so einfach zu lösen ist. Habe jetzt an der linken Seite vom Listview eine neue Spalte eingefügt und markiere sie mit einen Pfeil. Ist nicht so schön, funktioniert aber auch.

Danke für die schnelle Rückmeldung.

Schneider Johann



Beitrag beantworten
 
 Re: markieren von Zeilen im Listview
Autor: Heinz Brill (---.dip0.t-ipconnect.de)
Datum:   04.04.22 07:15

Checkboxen oder Icons kann man ja auch verwenden.

H.Brill
XProfan X4 + FreeProfan

Beitrag beantworten
 
 Re: markieren von Zeilen im Listview
Autor: Jörg Greve (---.dip0.t-ipconnect.de)
Datum:   20.04.22 22:48

probier mal folgendes:
raiseLine(fehler_liste&, zeile% + 1000000, 0,Rgb(255,255,0)) ' Zeile gelb einfäben

nach der letzten Zeilenfärbung dann updaten.
Die 1000000 bewirkt, daß die Zeile nicht sofort gefärbt wird, sondern erst nach dem Update- Befehl.
Macht Sinn, wenn du viele Zeilen in einer Schleife färbst, um flackern zu vermeiden.

Falls du die Zeile(n) nur per Mausklick einzeln färben willst, läßt du die 1000000 einfach weg.
Update sollte dann nicht notwendig sein. (Manchmal aber doch - einfach testen)

Um die Färbung von einer Zeile wieder rauszunehmen schreibst du:
raiseLine(fehler_liste&,  zeile%, -1,-1) ' genau diese Zeile entfärben


um alle Zeileneinfärbungen wieder aufzuheben schreibst du:
raiseLine(fehler_liste&, -1, -1,-1) ' alle Zeilen entfärben

dann updaten.

Gruß Jörg

Ideen gibt es viele - man muss sie nur haben...
XProfan X2.1, X3.1 / XP-Pro, Win7-Pro (32/64) / Linux Mint-Mate, AntiX

Beitrag beantworten
 
 Re: markieren von Zeilen im Listview
Autor: Jens-Arne Reumschüssel (---.77.3.pool.telefonica.de)
Datum:   21.04.22 23:27

Hallo Johann,

mit Bordmitteln geht Einfärben von Zeilen nur über CustomDraw. Das ist aber nicht ganz einfach. Wenn es die DLL tut, dann mach es lieber damit. Wenn Du es trotzdem versuchen möchtest, dann guck mal hier:

https://xprofan.net/intl/de/forum/listview-customdraw-mit-subclassing-so-geht-s/

Damit kann man alles mögliche im ListView verändern (Schriftart, Farbe ganzer Zeilen oder auch einzelner Zellen, Selbstzeichnen von bestimmten Anteilen).

Gruß, Jens-Arne

Beitrag beantworten
 Foren-Liste  |  Baumstruktur   Neuerer Beitrag  |  Älteres Thema 


 Foren-Liste  |  Zur Registrierung 
 Benutzerlogin
 Benutzername:
 Passwort:
 Login-Daten speichern:
   
 Passwort vergessen?
E-Mail-Adresse oder Username unten eingeben. Dann wird Dir per e-Mail ein neues Passwort zugeschickt.

phorum.org