Italia
Foro

Fragen zu Spaltenbutton

 

Georg
Hovenbitzer
Hallo zusammen,

ich habe mal wieder ein paar Fragen zum Listview.

- gibt es eine Möglichkeit den links Klick auf einen Spaltenbutton mitzubekommen
- gibt es eine Möglichkeit eine Größenänderung einer Spalte mitzubekommen

Ich möchte eine Checkbox Spalte Sortieren, dafür habe ich eine Routine geschrieben und möchte diese ausführen lassen wenn der entsprechende Spaltenbutton gedrückt wird.
Da diese doch eine gewisse Zeit dauert, da ich alle markierten und unmarkierten Einträge je in ein TMP Listview kopiere und nach dem Löschen des originales wieder zurück kopiere, habe ich mir noch eine andere Lösung überlegt.
Wenn man in die Checkbox Spalte je 1 oder 0 mit hineinschreibt ist die Sortierung schneller.
Dabei stört nur, dass man die Zahl durch Verschieben der Spalte sichtbar machen kann.
Nehme Io l' Ex-Style $400 mit bei der Erstellung des Listview was verhindet, dass man die Spalten vergrößert, wir automatisch (was auch richtig ist) der Tooltip eingeschaltet und ich sehe wieder die Zahlen.
Ebenso habe ich die hier im Foro aufgezeigte Callback Routine ausprobiert, diese scheitert aber dadurch, dass ich Fastmode einschalten muss. Danach funktioniert bei mir Loadfile nicht mehr.
Die Lösung vom Frank mit dem Zurücksetzen per Setcolumnwidth scheitert am Einsetzen eines Timers, da flackert bei mir das Listview fröhlich vor sich hin.

Am liebsten wäre mir die Möglichkeit, mitzubekommen wenn der Spaltenbutton geklickt wird und anhand der Werte einer Spalte am anderen Ende des Listview die man nicht vergrößern kann die Sortierung zu starten.
 
Viele Grüsse, Georg Hovenbitzer(Windows XP Pro, XProfan 11.2, Profan2Cpp 1.6a)
10.04.2006  
 




Frank
Abbing
Hi.

Kein Problem. Hab die Usermessage $1401 eingeführt.
Die UMessage $1400 hab ich inzwischen etwas abgeändert. Sie meldet jetzt Tastencode und Listviewhandle, in dem der Tastencode auftrat:

; Usermessages: Messagenummer = Beschreibung = (uwParam, ulParam)
; -------------
; $1400 = Tastendruck im Listview ermitteln = (LvHandle, Tastencode)
; $1401 = Gedrückten Spaltenbutton (linke Maustaste) melden = (LvHandle, Spalte)

Die Dll schicke ich dir per Mail.
 
11.04.2006  
 




Georg
Hovenbitzer
Hi Frank,

und schon wieder ein gaaaaannnnnzzzzz GROßES Lob von mir

Klappt alles hervorragend

Wenn es jetzt noch eine Message gibt, die ausgelöst wird wenn man die Spaltengröße ändert, fall ich vor dir auf die Knie
 
Viele Grüsse, Georg Hovenbitzer(Windows XP Pro, XProfan 11.2, Profan2Cpp 1.6a)
11.04.2006  
 




Frank
Abbing
Was brauchst du genau? Die Message, wenn der Anwender die Breite verändern will oder gerade dabei ist sie zu verändern oder sie soeben verändert hat? Oder alles drei?
 
11.04.2006  
 




Georg
Hovenbitzer
Hi Frank,

dies ist eine sehr gute Frage

Am besten naturalmente alle drei

Sinnvoll ist glaube ich das Zurücksetzen der Breite wenn der User ändern will.
Dürfte am wenigsten auffallen, man müsste aber auch wissen welche Spalte er ändern will, damit man geziehlt zurücksetzen kann.

Und dies alles so kurz vor deinem Urlaub
 
Viele Grüsse, Georg Hovenbitzer(Windows XP Pro, XProfan 11.2, Profan2Cpp 1.6a)
11.04.2006  
 




Frank
Abbing
Hi,

kein Problem. Es gibt jetzt Messages, wenn ein Spaltenbutton verändert werden soll und wenn er verändert wurde:

[box:101fab0d3c]; Usermessages: Messagenummer = Beschreibung = (uwParam, ulParam)
; -------------
; $1400 = Tastendruck im Listview ermitteln = (LvHandle, Tastencode)
; $1401 = Gedrückten Spaltenbutton (linke Maustaste) melden = (LvHandle, Spalte)
; $1402 = Anwender will gerade Spaltenbreite verändern = (LvHandle, Spalte)
; $1403 = Anwender hat Spaltenbreite verändert = (LvHandle, Spalte)[/box:101fab0d3c]
Die Dll schicke ich dir wieder per Mail.
Samstag gehts in Urlaub, wenn das Wetter mitspielt.
 
12.04.2006  
 




Georg
Hovenbitzer
Hallo Frank,

wie gewohnt klappt es

Der Anwender merkt nichts davon, Maustaste loslassen und Spalte zurück stellen.

So kann man nun wirklich jede beliebige Spalte feststellen.

Nun bin ich mal richtig unverschämt

Eine Message würde mir noch fehlen und zwar eine, wenn man eine Checkbox anklickt

Hintergrund ist, dass man sich ein paar Umläufe in der Hauptschleife sparen kann, da man dann beide Markierungsmöglichkeiten circa Message abfangen kann.
 
Viele Grüsse, Georg Hovenbitzer(Windows XP Pro, XProfan 11.2, Profan2Cpp 1.6a)
12.04.2006  
 




Frank
Abbing
Ciao,

ich glaube nicht, das ich dir in dem Fall helfen kann. Mir ist keine Notify-Message bekannt, die ausgelöst würde, wenn eine Checkbox angeklickt wird.
Sollte jemand doch eine kenne, so möge er mir einen Schubs in die richtige Richtung geben.
 
12.04.2006  
 




Frank
Abbing
Nein, so eine Message gibt es nicht.
Aber mit den vorhandenen Mitteln ist doch eine Abfrage jetzt schon äusserst kurz und bequem und das Waitinput wird auch verlassen...
KompilierenMarkierenSeparieren
x&=GetChecked(addr(z&),addr(indexline&),addr(status&))

If x&

    Print Str$(indexline&), Str$(status&)

End

Päpstlicher als der Papst muss nicht sein
 
14.04.2006  
 




Georg
Hovenbitzer
Hi Frank,

ich wollte einfach mal päpstlicher als der Papst sein

In machen Sachen bin ich eben ein Minimalist

Aber eine Sache noch, mein Listview zeigt zur Zeit 15.445 Zeilen an und corre perfekt.
Das einzige was etwas klemmt ist, wenn ich per Mausklick auf die Spaltenbuttons die Sortierung automatisch ändere, was bei der Menge nicht außergewöhnlich ist.

Kann man da noch etwas mit Speicherzuweisung oder so machen ?
 
Viele Grüsse, Georg Hovenbitzer(Windows XP Pro, XProfan 11.2, Profan2Cpp 1.6a)
14.04.2006  
 




Frank
Abbing
Ja, du könntest dir einen schnellen Computer zulegen
Ne, im Ernst. Die Sortierung ist schon sehr optimiert. Von der Programmazione ist da nichts mehr zu holen. Die meisste Zeit necessario das System, um die Listview-Einträge (neu) zu lesen und zu speichern. Also Windows Verwaltung des Controls.

Bin weg, Bootfahren!
 
14.04.2006  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

1.176 Views

Untitledvor 0 min.
boh128.03.2013
Jörg Sellmeyer06.11.2011
Julian Schmidt18.06.2011

Themeninformationen

Dieses Thema hat 2 subscriber:

Frank Abbing (6x)
Georg Hovenbitzer (5x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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