Español
Foro

Listview.dll: Problema Listview en TabContol, Problema Aktualisieren

 

Julian
Schmidt
¡Hola,
Yo stehe gerade antes una Problema.
Und zwar erstelle Yo en Listview.dll una Listview en una Tabcontrol.
Diesem Listview sería Yo nun gerne por RaiseLine & RaiseColum otro Farben zuordnen.
Diese Befehle scheinen allerdings en una Tabcontrol no a trabajo, como mein Listview no con meiner gewollte Farbdarstellung dargestellt se.
Sobald Yo el Listview en el Ventana principal erstelle se el Listview con meiner gewollten Farbdarstellungen dargestellt!
Wenn Yo el Listview en el Ventana principal erstelle kommt lo desafortunadamente a Komplikationen con otro Controls, weswegen lo así wichtig es en el Tabcontrol que se.

¿Cómo se puede Yo el Farbdarstellung uno Listview, welches en una Tabcontrol erstellt wurde, ändern?

LG

Julian57
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
27.01.2012  
 




Thomas
Freier
Dieses Problema saber Yo eigentlich no. Fehler en deinem Code?
Declarar lvdll&,listview&,texto$,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&=Control("DIÁLOGO","",$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(texto$),0,Rgb(185,209,249))
Var ELEMENT2&=Control("DIÁLOGO","",$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(texto$),0,Rgb(185,209,249))

Whileloop 0,10,2

    RaiseLine(LVIEW2&,(&bucle+1000000),0,Rgb(0,128,128))

Endwhile

RaiseLine(LVIEW2&,600,0,Rgb(128,128,128))
usermessages 16'--Beenden abfangen

WHILE 1

    WAITINPUT
    caso %umessage=16:romper'---Ende
    Case @TabChanged(T&): TAB_WECHSEL GetActiveTab(T&)

ENDWHILE

CloseMessages(%hwnd)
CloseMessages(ELEMENT1&)
CloseMessages(ELEMENT2&)
FREEDLL lvdll&
DestroyWindow(%hwnd)
End

Proc TAB_WECHSEL

    Parámetros T_nr%

    IF T_nr% = 0

        Showwindow(Element1&,1)
        Showwindow(Element2&,0)

    ElseIF T_nr% = 1

        Showwindow(Element1&,0)
        Showwindow(Element2&,1)

    EndIf

ENDPROC

 
Gruß Thomas
Windows XP SP2, XProfan X2
27.01.2012  
 




Julian
Schmidt
Sí, Yo InitMessages, CloseMessages no spezifisch en el TabControl angewand.
Nun funktioniert el einfärben. Gracias Thomas!

Aunque Yo festgestellt, dass el Farben de y a sólo después de una klick, o. scrollen innerhalb des Listview erscheinen,obwohl Yo eigentlich con UpdateListview el Listview aktualisiere!? Weiß alguien Rat?
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
27.01.2012  
 




Thomas
Freier
Sí, es manchmal una Problema. Intento veces beim TAB-Wechsel "nach a färben"
ElseIF T_nr% = 1

Showwindow(Element1&,0)
Showwindow(Element2&,1)

Whileloop 0,10,2

    RaiseLine(LVIEW2&,(&bucle+1000000),0,Rgb(0,128,128))

Endwhile

RaiseLine(LVIEW2&,600,0,Rgb(128,128,128))
oder
ElseIF T_nr% = 1

Showwindow(Element1&,0)
Showwindow(Element2&,1)
RaiseLine(LVIEW2&,600,0,Rgb(128,128,128))
porque meist es el 1.TAB OK.
 
Gruß Thomas
Windows XP SP2, XProfan X2
27.01.2012  
 




Julian
Schmidt
Yo tue eig. después de färben, todavía kommt lo de y a a Problema.

Noch una Cuestión:
Kann uno ermitteln, si el Sortierung el Zeilen geändert wurde?. Sobald uno todos Zeilen después de uno Spalte aufwärts, abwärts sortiert, stimmt el Farbgebung por desgracia, no mehr. Deswegen sería Me gusta abfragen y si nötig, el Listview neu einfärben. Alguien una Concepto?
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
27.01.2012  
 



Färben sólo si la TAB aktiv es?
Usted puede sí abfragen, si el Spaltenbutton gedrückt wurde. Un Spalte con Farbwert en 0 Breite. Erst todos Zeilen entfärben y luego el Farbwert auslesen y Línea para Línea färben.Wenn el Spaltenbreiten no verändert voluntad dürfen es kein Problema. Sonst abfragen si el Spaltenbreite des Farbwertes verändert wurde y otra vez en 0 conjunto.
Saludo Thomas
 
27.01.2012  
 




Julian
Schmidt
Unbenannt (27.01.12)
Usted puede sí abfragen, si el Spaltenbutton gedrückt wurde. Un Spalte con Farbwert en 0 Breite. Erst todos Zeilen entfärben y luego el Farbwert auslesen y Línea para Línea färben.Wenn el Spaltenbreiten no verändert voluntad dürfen es kein Problema. Sonst abfragen si el Spaltenbreite des Farbwertes verändert wurde y otra vez en 0 conjunto.


Sry. Yo verstehe no como Si es usted el media? ¿Cómo se puede Yo ermitteln si el Sortierung des Zeilen geändert wurde?
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
27.01.2012  
 



Usted bestimmst doch wo sortiert voluntad darf encima
{{FROMQUOT2}}
Erklärung No se ha encontrado: ASORTLISTVIEW(H,B,A)

AUTOSORTLISTVIEW H,S1,S2,S3,...,S12

BESTIMMT, EN WELCHER ART Y WEISE JEDE EINZELNE SPALTE UNO LISTVIEWS SORTIERT VOLUNTAD SE, SOBALD EL ANWENDER
EL ENTSPRECHENDEN SPALTENBUTTON GEDRÜCKT HA.


, entonces kannst du - siehe Ejemplo Alle_Maustasten_abfangen.prf una Linksklick en el Listview prüfen, en welcher Spalte el Linksklick en lugar de fand. War lo una Spalte en el una Sortierung zulässig war, así wurde neu sortiert y el Zeilen necesario, si la Farbgebung a una Línea gebunden war, neu gefärbt voluntad.
 
27.01.2012  
 




Julian
Schmidt
Ok así funktioniert zumindest el Abfragen. Lo treten allerdings immernoch diverse Problemas con el aktualisieren en!

Hier el wesentliche Ver código fuente.
'...

mientras que 1

    waitinput 30
    '...

    if (getfocus(neu&) or menuitem(101)) and (Getactivetab(hTab1&)<>4)'Wenn Button Hinzufügen gedrückt wurde....

        '...
        ColorListview(LV&[Getactivetab(hTab1&)])'no es korrekt aktualisiert

    Endif

    '...
    x&=GetVar(4)

    If x&<>-1'Wenn una beliebiger Spaltbutton gedrückt wurde...

        ColorListview(LV&[Getactivetab(hTab1&)])'no es korrekt aktualisiert

    EndIf

    '...

Endwhile

'...

Proc ColorListview

    Parámetros hdl&
    declarar spalte&
    caso hdl&=LV&[0] : spalte&=4
    caso hdl&=LV&[1] : spalte&=5
    caso hdl&=LV&[2] : spalte&=2
    caso 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&,&bucle)
        caso String$(bereich#,0)="Erledigt" : RaiseLine(hdl&,&bucle+1000000,RGB(255,255,255),erledigt&)
        caso String$(bereich#,0)="Unerledigt" : RaiseLine(hdl&,&bucle+1000000,RGB(255,255,255),unerledigt&)

    Endwhile

    UpdateListview(hdl&)
    Volver 1

ENDPROC

 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
28.01.2012  
 




Detlef
Jagolski
Intento veces el!
mientras que 1

    waitinput 30
    '...

    if (getfocus(neu&) or menuitem(101)) and (Getactivetab(hTab1&)<>4)'Wenn Button Hinzufügen gedrückt wurde....

        '...
        ColorListview(LV&[Getactivetab(hTab1&)])'no es korrekt aktualisiert
        ~RedrawWindow(LV&[Getactivetab(hTab1&)],0,0, ~RDW_FRAME | ~RDW_INVALIDATE | ~RDW_ALLCHILDREN | ~RDW_UPDATENOW | ~RDW_INTERNALPAINT)

    Endif

    '...
    x&=GetVar(4)

    If x&<>-1'Wenn una beliebiger Spaltbutton gedrückt wurde...

        ColorListview(LV&[Getactivetab(hTab1&)])'no es korrekt aktualisiert
        ~RedrawWindow(LV&[Getactivetab(hTab1&)],0,0, ~RDW_FRAME | ~RDW_INVALIDATE | ~RDW_ALLCHILDREN | ~RDW_UPDATENOW | ~RDW_INTERNALPAINT)

    EndIf

    '...

Endwhile

'...

Proc ColorListview

    Parámetros hdl&
    declarar spalte&
    caso hdl&=LV&[0] : spalte&=4
    caso hdl&=LV&[1] : spalte&=5
    caso hdl&=LV&[2] : spalte&=2
    caso 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&,&bucle)
        caso String$(bereich#,0)="Erledigt" : RaiseLine(hdl&,&bucle+1000000,RGB(255,255,255),erledigt&)
        caso String$(bereich#,0)="Unerledigt" : RaiseLine(hdl&,&bucle+1000000,RGB(255,255,255),unerledigt&)

    Endwhile

    UpdateListview(hdl&)
    Volver 1

ENDPROC

 
XProfan X2
XProfan X4, PRFellow, Profan2Cpp - Version 2.0c-pre5, Windows 11
28.01.2012  
 




Julian
Schmidt
Detlef Jagolski (28.01.12)
Intento veces el!


Der Intento war lo Valor. Das Aktualisieren funktioniert Perfekt!
Gracias euch beiden!
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
28.01.2012  
 



~Redraw... löst viele Problemchen, aber hast du lo después de Franks, el sí sparsam programmiert, Ejemplo veces intenta. d.h., n-1 con &loop+100000 y letzte Línea con n?
var Spalte&=1
var texto$=""

Whileloop 0,(GetCount(LVIEW2&)-2),1

    texto$=trim$(GetText $(LVIEW2&,&bucle,Spalte&))

    SELECT texto$

        CASEOF "erledigt"

        RaiseLine(LVIEW2&,(&bucle+1000000),0,Rgb(109,248,103))'todos unerledigten färben

        CASEOF "unerledigt"

        RaiseLine(LVIEW2&,(&bucle+1000000),0,Rgb(210,222,222))'todos unerledigten färben
        OTHERWISE
        RaiseLine(LVIEW2&,(&bucle+1000000),0,Rgb(255,255,255))'färben

    ENDSELECT

Endwhile

text$=trim$(GetText $(LVIEW2&,(GetCount(LVIEW2&)-1),Spalte&))

SELECT texto$

    CASEOF "erledigt"

    RaiseLine(LVIEW2&,(GetCount(LVIEW2&)-1),0,Rgb(109,248,103))'todos unerledigten färben

    CASEOF "unerledigt"

    RaiseLine(LVIEW2&,(GetCount(LVIEW2&)-1),0,Rgb(210,222,222))'todos unerledigten färben
    OTHERWISE
    RaiseLine(LVIEW2&,(GetCount(LVIEW2&)-1),0,Rgb(255,255,255))'färben

ENDSELECT

 
28.01.2012  
 




Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

10.769 Views

Untitledvor 0 min.
Heiko Dix29.10.2023
Michael W.07.07.2016
Christof Neuß11.01.2016
Peter Max Müller16.04.2015
Más...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie