| |
|
|
Bernd Haase | Moin Frank !
Zur Zeit entwickel ich ein Wahlhelferprogramm und nutze hier die Listview. Bei der Einstellung der Spaltenbreite, mit Hilfe der Maus, ist es einem Tester gelungen, eine schmale Spalte mit einer breiteren zu überlagern. Die Schmale war nicht mehr sichtbar. Kann ich dies irgendwie vermeiden, indem man sagt das die Spalte immer mit 10 Pixeln oder so, zu sehen sein muss.
Gruß Bernd |
|
|
| Mit freundlichem Gruß Bernd Sind schon viele erfroren, aber noch keiner ist erstunken !![...] | 29.05.2006 ▲ |
|
|
|
|
Frank Abbing | Nein, aber du kannst verhindern, dass die Breite überhaupt verändert werden kann. Dazu gibt es bei CreateListview() ja ein entsprechendes Flag.
In Version 1.9 habe ich zwei Usermessages eingebaut. Damit kannst du selber prüfen, ob eine Breite zu klein ist, und diese dann neu einstellen. Auszug aus der neuen Hilfe.
Listview.dll und Usermessages:
Seit Version 1.9 verschickt die Listview.dll verschiedene Usermessages an das Hauptprogramm, wenn bestimmte Ereignisse passieren. An dieser Stelle werden diese Messages genannt und erklärt:
$1400: Ermittelt jeden Tastendruck in einem beliebigen Listview. uwParam = Listview-Handle ulParam = Tastencode
$1401: Linke Maustaste wurde auf einem Spaltenbutton gedrückt. uwParam = Listview-Handle ulParam = Spaltenindex (nullbasierend)
$1402: Anwender will gerade Spaltenbreite verändern. uwParam = Listview-Handle ulParam = Spaltenindex (nullbasierend)
$1403: Anwender hat Spaltenbreite verändert. uwParam = Listview-Handle ulParam = Spaltenindex (nullbasierend)
Beispiel: KompilierenMarkierenSeparierenIch schick dir die Betaversion, wenn du magst. |
|
|
| |
|
|
|
| [quote:052af1d6b2]Ich schick dir die Betaversion, wenn du magst.[/quote:052af1d6b2] Hallo Frank Wo ist die Version 1.9 ? - In der aktuellen Version von Deiner HP (1.8) ist der Befehl GetKeyState(..... nicht enthalten - Bekomme immer eine Fehlermeldung |
|
|
| |
|
|
|
Frank Abbing | Ach so, Horst. Kann sein, das es dort doch noch nicht dabei war. Wenn ichs bedenke, ist doch eher die oben beschriebene Usermessage $1400 interessanter, für dein Problem. Kannst ja beides mal testen. |
|
|
| |
|
|
|
Bernd Haase | Moin !
Wäre es denn nicht schlecht solch einen Parameter der Listview mit zu übergeben. Sagen wir mal, das die SP-Breite bei 10 Pixel ( kann auch wahlfrei sein ) liegen soll ?
Als Verbesserung bevor die neue Beta rauskommt:
Gruß Bernd |
|
|
| Mit freundlichem Gruß Bernd Sind schon viele erfroren, aber noch keiner ist erstunken !![...] | 30.05.2006 ▲ |
|
|
|
|
Frank Abbing | Moin moin!
Die Idee ist ja nicht schlecht. Nur benötigen manche Leute Listviewspalten von 0 Pixeln Breite, z.B. um vorübergehend Spalten auszublenden. Ist also nicht einfach es allen recht zu machen. Ich könnte aber sowas machen wie:
SetColumnWidthLimit(breite&) und das Gegenstück SetColumnWidthMax(breite&). Voreingestellt könnten hier die Werte 0 und 32768 sein..... Gefällt mir! |
|
|
| |
|
|
|
Frank Abbing | Hab die Voraussetzungen dafür geschaffen und es funktioniert ausgezeichnet. Über die Funktionsnamen bin ich mir noch nicht im Klaren, wahrscheinlich wird es nur eine Funktion.
SetColumnsWidthLimits(minimum&,maximum&)
Oder gibts kürzere Vorschläge? |
|
|
| |
|
|
|
Rolf Koch | SetColLimits() |
|
|
| |
|
|
|
Frank Abbing | Ja, ist kürzer. Aber nicht aussagekräftig. Ich benutze in der Regel Column, wenn eine Spalte gemeint ist. Sind es mehrere oder alle, verwende ich Columns. Das Limit wird für die Spaltenbreite gesetzt, nicht für für die Spalte. Das ist dann zu allgemein. Nenne mich ruhig pingelig. Aber lieber einen langen Name, der einiges über die Funktion verrät, als ein zu kurzer, nichtssagender Name. Ich denke, ich werde den langen nehmen. Sorry..... |
|
|
| |
|
|
|
Rolf Koch | War doch ne super Aussage und Überzeugend |
|
|
| |
|
|
|
Frank Abbing | |
|
| |
|
|
|
Bernd Haase | Moin !
Wer schreibt, der bleibt !! Gute Lösung
... und wann kann man die einsetzen ??
p.s. Wer sind denn die netten smilie-schnitten ?? |
|
|
| Mit freundlichem Gruß Bernd Sind schon viele erfroren, aber noch keiner ist erstunken !![...] | 31.05.2006 ▲ |
|
|
|