Forum | | | | - page 1 - |
| ![Julian Schmidt: 27.01.2012](.././../../i/a/1598.gif) Julian Schmidt | Salut, je stehe justement avant une Problem. et zwar erstelle je sur qui Listview.dll un Listview sur une Tabcontrol. Diesem Listview serait je eh bien volontiers per RaiseLine & RaiseColum autre Farben zuordnen. cet Befehle sembler allerdings sur une Tabcontrol pas trop marcher, là mon Listview pas avec meiner gewollte Farbdarstellung dargestellt wird. Sobald je cela Listview sur dem Hauptfenster erstelle wird cela Listview avec meiner gewollten Farbdarstellungen dargestellt! si je cela Listview sur dem Hauptfenster erstelle venez es malheureusement trop Komplikationen avec anderen Controls, weswegen es so important ist es sur dem Tabcontrol trop laisser.
comment peux je qui Farbdarstellung eines Listview, welches sur une Tabcontrol erstellt wurde, changement?
LG
Julian57 |
| | | | |
| | | | | - page 1 - |
| ![Thomas Freier: 27.01.2012](.././../../i/a/722278123487bd8c272307.gif) Thomas Freier | cet Problem kenne je eigentlich pas. faute dans deinem Code?
Déclarer lvdll&,listview&,text$,x&,z&,ilist&
$I Listview_Funktionen.inc
lvdll&=usedll("Listview.dll")
cls
var T&=CREATE("TABCTRL",%HWND,"Reiter1",10,10,400,360)
Var TAB2&=@InsertTab(T&,2,"Reiter2")
var ELEMENT1&=Contrôle("Dialogue",»,$54001100,0,25,400,380,t&,0,%HINSTANCE,$0)
InitMessages(%hwnd)
InitMessages(ELEMENT1&)
var LVIEW&=CREATELISTVIEW(ELEMENT1&,%HINSTANCE,0,$FFFFFF,-1,$21)
InsertColumn LVIEW&,"SPALTE 1",60,0
InsertColumn LVIEW&,"SPALTE 2",60,0
InsertColumn LVIEW&,"SPALTE 3",60,0
whileLoop 10
SetItem LVIEW&,"123","345","678"
Wend
SHOWLISTVIEW(LVIEW&,20,40,325,200)
text$="101"
RaiseColumns(LVIEW&,addr(text$),0,Rgb(185,209,249))
Var ELEMENT2&=Contrôle("Dialogue",»,$54001100,0,25,400,380,t&,0,%HINSTANCE,$0)
InitMessages(ELEMENT2&)
var LVIEW2&=CREATELISTVIEW(ELEMENT2&,%HINSTANCE,0,$FFFFFF,-1,$21)
InsertColumn LVIEW2&,"Test 1",60,0
InsertColumn LVIEW2&,"Test 2",60,0
InsertColumn LVIEW2&,"Test 3",60,0
whileLoop 10
SetItem LVIEW2&,"abc","def","ghu"
Wend
SHOWLISTVIEW(LVIEW2&,20,40,325,200)
text$="101"
RaiseColumns(LVIEW2&,addr(text$),0,Rgb(185,209,249))
Whileloop 0,10,2
RaiseLine(LVIEW2&,(&loop+1000000),0,Rgb(0,128,128))
Endwhile
RaiseLine(LVIEW2&,600,0,Rgb(128,128,128))
usermessages 16'--finissons intercepter
WHILE 1
WAITINPUT
cas %umessage=16:pause'---Ende
Cas @TabChanged(T&): TAB_WECHSEL GetActiveTab(T&)
ENDWHILE
CloseMessages(%hwnd)
CloseMessages(ELEMENT1&)
CloseMessages(ELEMENT2&)
FREEDLL lvdll&
DestroyWindow(%hwnd)
Fin
Proc TAB_WECHSEL
Paramètres T_nr%
IF T_nr% = 0
Showwindow(Element1&,1)
Showwindow(Element2&,0)
ElseIF T_nr% = 1
Showwindow(Element1&,0)
Showwindow(Element2&,1)
EndIf
ENDPROC
|
| | | | |
| | ![Julian Schmidt: 27.01.2012](.././../../i/a/1598.gif) Julian Schmidt | oui, j'ai InitMessages, CloseMessages pas spezifisch sur den TabControl angewand. ![](.././../../i/s/crazy.gif) eh bien funktioniert cela einfärben. merci Thomas!
Allerdings habe je festgestellt, dass qui Farben ab et trop seulement pour une klick, bzw. scrollen dedans des Listview erscheinen,quoique je eigentlich avec UpdateListview cela Listview aktualisiere!? sais quelqu'un conseil? |
| | | | |
| | ![Thomas Freier: 27.01.2012](.././../../i/a/722278123487bd8c272307.gif) Thomas Freier | oui, ist quelquefois un Problem. Versuch la fois beim TAB-change "nach trop färben"
ElseIF T_nr% = 1
Showwindow(Element1&,0)
Showwindow(Element2&,1)
Whileloop 0,10,2
RaiseLine(LVIEW2&,(&loop+1000000),0,Rgb(0,128,128))
Endwhile
RaiseLine(LVIEW2&,600,0,Rgb(128,128,128))
ou bien car meist ist qui 1.TAB OK. |
| | | | |
| | ![Julian Schmidt: 27.01.2012](.././../../i/a/1598.gif) Julian Schmidt | je tue eig. pour färben, toutefois venez es ab et à le Problem.
encore une Frage: peux on ermitteln, si qui Sortierung qui Zeilen geändert wurde?. Sobald on alle Zeilen pour einer Spalte aufwärts, abwärts sortiert, stimmt qui Farbgebung malheureusement pas plus. Deswegen serait je volontiers abfragen et si nötig, cela Listview récente einfärben. quelqu'un une concept? |
| | | | |
| | ![: 27.01.2012](.././../../i/a/noavatar.gif) | Färben seulement si qui TAB aktiv ist? tu peux oui abfragen, si qui Spaltenbutton gedrückt wurde. une Spalte avec Farbwert chez 0 Breite. seulement alle Zeilen entfärben et ensuite den Farbwert auslesen et la ligne pour la ligne färben.si qui Spaltenbreiten pas modifié volonté dürfen ist es ne...aucune Problem. Sonst abfragen si qui Spaltenbreite des Farbwertes modifié wurde et wieder sur 0 mettons. Salut Thomas |
| | | | |
| | ![Julian Schmidt: 27.01.2012](.././../../i/a/1598.gif) Julian Schmidt | Unbenannt (27.01.12)
tu peux oui abfragen, si qui Spaltenbutton gedrückt wurde. une Spalte avec Farbwert chez 0 Breite. seulement alle Zeilen entfärben et ensuite den Farbwert auslesen et la ligne pour la ligne färben.si qui Spaltenbreiten pas modifié volonté dürfen ist es ne...aucune Problem. Sonst abfragen si qui Spaltenbreite des Farbwertes modifié wurde et wieder sur 0 mettons.
Sry. je comprends pas comment du cela meinst? comment peux je ermitteln si qui Sortierung des Zeilen geändert wurde? |
| | | | |
| | ![: 27.01.2012](.././../../i/a/noavatar.gif) | Du bestimmst doch wohin sortiert volonté darf sur {{FROMQUOT2}}
Erklärung pas trouvé: ASORTLISTVIEW(H,B,A)
AUTOSORTLISTVIEW H,S1,S2,S3,...,S12
BESTIMMT, DANS QUEL ART ET WEISE CHACUN EINZELNE SPALTE EINES LISTVIEWS SORTIERT VOLONTÉ SOLL, SOBALD QUI ANWENDER DEN ENTSPRECHENDEN SPALTENBUTTON GEDRÜCKT HAT.
, ensuite peux du - siehe Beispiel Alle_Maustasten_abfangen.prf pour einem Linksklick im Listview vérifier, dans quel Spalte qui Linksklick statt fand. était es une Spalte dans qui une Sortierung zulässig était, so wurde récente sortiert et qui Zeilen doit, si le Farbgebung à une la ligne attaché était, récente teinté volonté. |
| | | | |
| | ![Julian Schmidt: 28.01.2012](.././../../i/a/1598.gif) Julian Schmidt | Ok so funktioniert zumindest cela Abfragen. Es treten allerdings immernoch diverse Probleme avec dem aktualisieren sur!
ici qui wesentliche Voir le texte source.
'...
tandis que 1
waitinput 30
'...
si (getfocus(neu&) or menuitem(101)) and (Getactivetab(hTab1&)<>4)'si Button Hinzufügen gedrückt wurde....
'...
ColorListview(LV&[Getactivetab(hTab1&)])'wird pas korrekt aktualisiert
Endif
'...
x&=GetVar(4)
Si x&<>-1'si un beliebiger Spaltbutton gedrückt wurde...
ColorListview(LV&[Getactivetab(hTab1&)])'wird pas korrekt aktualisiert
EndIf
'...
Endwhile
'...
Proc ColorListview
Paramètres hdl&
declare spalte&
cas hdl&=LV&[0] : spalte&=4
cas hdl&=LV&[1] : spalte&=5
cas hdl&=LV&[2] : spalte&=2
cas hdl&=LV&[3] : spalte&=2
var erledigt&=RGB(0,190,0)
var unerledigt&=RGB(255,30,30)
whileloop 0,GetLines(hdl&)-1,1
GetItemText(hdl&,bereich#,spalte&,&loop)
cas String$(bereich#,0)="Erledigt" : RaiseLine(hdl&,&loop+1000000,RGB(255,255,255),erledigt&)
cas String$(bereich#,0)="Unerledigt" : RaiseLine(hdl&,&loop+1000000,RGB(255,255,255),unerledigt&)
Endwhile
UpdateListview(hdl&)
Retour 1
ENDPROC
|
| | | | |
| | ![Detlef Jagolski: 28.01.2012](.././../../i/a/7303307594bdcd1fb4790d.gif) Detlef Jagolski | Versuch la fois cela!
tandis que 1
waitinput 30
'...
si (getfocus(neu&) or menuitem(101)) and (Getactivetab(hTab1&)<>4)'si Button Hinzufügen gedrückt wurde....
'...
ColorListview(LV&[Getactivetab(hTab1&)])'wird pas korrekt aktualisiert
~RedrawWindow(LV&[Getactivetab(hTab1&)],0,0, ~RDW_FRAME | ~RDW_INVALIDATE | ~RDW_ALLCHILDREN | ~RDW_UPDATENOW | ~RDW_INTERNALPAINT)
Endif
'...
x&=GetVar(4)
Si x&<>-1'si un beliebiger Spaltbutton gedrückt wurde...
ColorListview(LV&[Getactivetab(hTab1&)])'wird pas korrekt aktualisiert
~RedrawWindow(LV&[Getactivetab(hTab1&)],0,0, ~RDW_FRAME | ~RDW_INVALIDATE | ~RDW_ALLCHILDREN | ~RDW_UPDATENOW | ~RDW_INTERNALPAINT)
EndIf
'...
Endwhile
'...
Proc ColorListview
Paramètres hdl&
declare spalte&
cas hdl&=LV&[0] : spalte&=4
cas hdl&=LV&[1] : spalte&=5
cas hdl&=LV&[2] : spalte&=2
cas hdl&=LV&[3] : spalte&=2
var erledigt&=RGB(0,190,0)
var unerledigt&=RGB(255,30,30)
whileloop 0,GetLines(hdl&)-1,1
GetItemText(hdl&,bereich#,spalte&,&loop)
cas String$(bereich#,0)="Erledigt" : RaiseLine(hdl&,&loop+1000000,RGB(255,255,255),erledigt&)
cas String$(bereich#,0)="Unerledigt" : RaiseLine(hdl&,&loop+1000000,RGB(255,255,255),unerledigt&)
Endwhile
UpdateListview(hdl&)
Retour 1
ENDPROC
|
| | | | |
| | ![Julian Schmidt: 28.01.2012](.././../../i/a/1598.gif) Julian Schmidt | Detlef Jagolski (28.01.12)
Versuch la fois cela!
qui Versuch était es Wert. cela Aktualisieren funktioniert parfait! ![](.././../../i/s/-amazed.png) merci euch beiden! ![](.././../../i/s/__upl_ext_1111498557.gif) |
| | | | |
| | ![: 28.01.2012](.././../../i/a/noavatar.gif) | ~Redraw... löst viele Problemchen, mais la hâte du es pour Franks, qui oui sparsam programmiert, Beispiel la fois versucht. d.h., n-1 avec &loop+100000 et dernier la ligne avec n?
var Spalte&=1
var text$=»
Whileloop 0,(GetCount(LVIEW2&)-2),1
text$=$ Trim(GetText $(LVIEW2&,&loop,Spalte&))
SELECT text$
CASEOF "erledigt"
RaiseLine(LVIEW2&,(&loop+1000000),0,Rgb(109,248,103))'alle unerledigten färben
CASEOF "unerledigt"
RaiseLine(LVIEW2&,(&loop+1000000),0,Rgb(210,222,222))'alle unerledigten färben
OTHERWISE
RaiseLine(LVIEW2&,(&loop+1000000),0,Rgb(255,255,255))'färben
ENDSELECT
Endwhile
text$=$ Trim(GetText $(LVIEW2&,(GetCount(LVIEW2&)-1),Spalte&))
SELECT text$
CASEOF "erledigt"
RaiseLine(LVIEW2&,(GetCount(LVIEW2&)-1),0,Rgb(109,248,103))'alle unerledigten färben
CASEOF "unerledigt"
RaiseLine(LVIEW2&,(GetCount(LVIEW2&)-1),0,Rgb(210,222,222))'alle unerledigten färben
OTHERWISE
RaiseLine(LVIEW2&,(GetCount(LVIEW2&)-1),0,Rgb(255,255,255))'färben
ENDSELECT
|
| | | | |
| | | | - page 2 - |
| | ![Julian Schmidt: 28.01.2012](.././../../i/a/1598.gif) Julian Schmidt | | | | | |
|
répondreOptions du sujet | 10.978 Views |
Themeninformationencet Thema hat 4 participant: |