Español
Foro

Aktuelle o. zuletzt geänderte Zelle en Listview ermitteln

 
- Página 1 -



Stephan
Sonneborn
¡Hola zusammen,
Yo tener folgendes Problema: en un con Franks listview.dll erstellten Listview voluntad cada Zellen por Tastatur (Tab-Taste) angewählt y luego editiert.

Kann uno determinar, welche Zelle zuletzt geändert wurde?

Gracias en el Voraus!!!
 
Schöne Grüße aus Wittgenstein
von Stephan

Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz
11.01.2012  
 



 
- Página 1 -


Doch. Ist ligeramente a auszulesen, siehe Función GetVar() con Flag 0 y 6, o. Flag 2 y 4.
 
12.01.2012  
 




Stephan
Sonneborn
¡Hola Franco, Thomas y David,

vielen Dank para Eure Respuesta.

Soweit Yo weiß, fängt INITMESSAGES todos Messages des Listviews de y verarbeitet ellos. Deswegen kommen "normale" Messages no por.

Thomas' Solución wäre una Möglichkeit.

Franks Vorschlag, el Función GETVAR() a nutzen, Yo auch ya en Betracht elaborado. Aber GETVAR() son doch "nur" el Handle des Edits zurück. Como komme Yo así a el Spalten- y Zeilenindex?
 
Schöne Grüße aus Wittgenstein
von Stephan

Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz
13.01.2012  
 



Hast du Flag 2 y 4 probiert? Und el Listview.dll-Usermessages?
 
13.01.2012  
 




Stephan
Sonneborn
Sí, aber Flag 2 y 4 liefern sólo -1 y el Usermessages son doch auch sólo para Mausklicks...
 
Schöne Grüße aus Wittgenstein
von Stephan

Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz
13.01.2012  
 



Wozu necesidad Si es usted el porque? Tal vez gibts ne weitere Möglichkeit.
 
13.01.2012  
 




Thomas
Freier
@Franco, él möchte simplemente wissen en welcher Línea y Spalte ahora EDIT es, si él z.B. el TAB- oder PFEIL-Taste gedrückt ha. Dann entsteht sí una neues EDIT.
Listview Ayuda:
Wurde el Tabtaste gedrückt, entonces baut se anschließend una neues Editar campo en, sodas el nächste Itemtext editiert voluntad kann.

Intern wirst du sí el Tastenaktion verarbeitet haben. Aber como kommen wir daran?
 
Gruß Thomas
Windows XP SP2, XProfan X2
14.01.2012  
 



Das Tuve ya verstanden. Aber wofür se el Information benötigt? Tal vez puede ser el sí anders regeln. Der Tastendruck ansich se intern sí ermittelt. El Position en el Listview aber nirgendwo adecuado bekannt gegeben, war bislang auch nie nötig.
 
14.01.2012  
 



Könnte me vorstellen, dass él una UNDO-Función einbauen, y así n-Vor-Editar con Línea+Spalte+Texto en una Array legen voluntad.

Saludo Thomas
 
14.01.2012  
 



Dann restos tal vez todavía el Möglichkeit, con manuellen Edits a trabajo, el en efecto unterstützt voluntad.
Jede Eventualität einzukalkulieren, el entonces después de Jahren tal vez veces benötigt se, es sí doch desafortunadamente nie posible. Como el Listview.dll auch no mehr más entwickelt se, se lo desafortunadamente auch kein entsprechendes Actualización mehr geben. Yo programmiere auch ya seit una Jahr no mehr en Ensamblador y voluntad el bajo 64 Bit auch no mehr hacer. Eventuell besteht el Möglichkeit, el Sourcecode abzutreten, así él de alguien Anderem más entwickelt se.
 
14.01.2012  
 



 
- Página 2 -



Stephan
Sonneborn
Unbenannt (14.01.12)

Könnte me vorstellen, dass él una UNDO-Función einbauen, y así n-Vor-Editar con Línea+Spalte+Texto en una Array legen voluntad.


Bingo!

Hola Tomás,
lo va una Tabla con Koordinatenwerten. Diese Werte dienen a Darstellung uno Zeichnung (geschlossener Linienzug). Wenn nun el Anwender el Koordinaten el individual Punkte verändert, necesario auch el Koordinaten el nächsten Linie geändert voluntad, así el Linienzug geschlossen restos.
Como el Anwender siempre sólo una Koordinatenwert ändern kann, kann dies el x- oder y Koordinate ser.
Plan B es natürlich, el Línea a ermitteln, en el gerade geändert se, esta zwischen a speichern y luego con el Inhalt después de el Editieren a vergleichen.

Plan A wäre eben gewesen, tatsächlich direkt a wissen, welche Zelle geändert se.
Damit sería el Undo-Función natürlich auch einfacher.
 
Schöne Grüße aus Wittgenstein
von Stephan

Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz
15.01.2012  
 




Stephan
Sonneborn
Frabbing (14.01.12)

Dann restos tal vez todavía el Möglichkeit, con manuellen Edits a trabajo, el en efecto unterstützt voluntad.
Jede Eventualität einzukalkulieren, el entonces después de Jahren tal vez veces benötigt se, es sí doch desafortunadamente nie posible. Como el Listview.dll auch no mehr más entwickelt se, se lo desafortunadamente auch kein entsprechendes Actualización mehr geben.


¡Hola Franco,
Yo voluntad mich una vez más intensiver con el manuellen Edits beschäftigen.
Vielen Dank!
 
Schöne Grüße aus Wittgenstein
von Stephan

Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz
15.01.2012  
 




Thomas
Freier
@Stephan, en el manuellen Edits mejor para Ejemplo "Eigene_Eingaben.prf" greifen , como dur hier el zulässigen Eingaben y el Beenden bestimmen y erfassen kannst, auch si "Abbruch" gewählt wurde.
Scriptbeispiel , el Daten como en "Eigene_Eingaben.prf" después de hacer doble clic ermitteln.
KompilierenMarcaSeparación
Proc Haushalt_Ein_Sonst' Sonstige Einnahmen

    case (LV_Column&=0) : Haushalt_Edit 0'Text
    case (LV_Column&=1) : Haushalt_Edit 2'Betrag
    case (LV_Column&=2) : Haushalt_Edit 1'Anzahl
    DeleteSpaceLines(Listview51&,0)
    Rechne_Sonstiges
    Haushalt_Ausgaben
    SetFocus(%hwnd)

EndProc

Proc Haushalt_Edit

    Parameters x%
    Declare x!
    DEF nurzahlen(2) !"NEdit.dll","InitMessages"
    ndll&=usedll(old_file$+"\\Lib\\NEdit.dll")
    var Element&=control("Edit",LV_Text$,$548100C0 | LV_Orient&,LV_Xoffset&,LV_Yoffset&,LV_Width&,LV_Height&,LV_Handle&,100,%hinstance,0)
    SetWindowPos(Element&,-1,0,0,0,0,$13)
    SetFont Element&,LV_Font&
    Setfocus(Element&)
    SendString(Element&,"+({END})")'Text Markieren und Cursor ans Ende
    case x%=1: SetEditNumeric(Element&)'nur Ziffereingaben erlauben
    case x%=2: nurzahlen(element&,7)'nur Ziffereingaben und Nachkommastellen erlauben

    While 1

        WaitInput

        if @TabChanged(T&)

            TAB_WECHSEL GetActiveTab(T&)
            break

        endif

        case iskey(27):BREAK'Abbruch ESC
        CursorPos

        If @lt(mouseposx(0),LV_Xoffset&) OR @lt(mouseposy(0),LV_YOffset&) \

            OR @gt(mouseposx(0),@add(LV_Xoffset&,LV_Width&)) OR @gt(mouseposy(0),@add(LV_Yoffset&,LV_Height&))
            LV_Text$ = @GetText$(Element&)

            If x%=2'Zahl mit Nachstellen

                LV_Text$=Translate$(LV_Text$,",",".")
                x!=val(LV_Text$)
                @Set("Decimals",2)
                LV_Text$=str$(x!)

            EndIf

            SetItemText(LV_HAndle&,addr(LV_Text$),LV_Column&,LV_Row&)
            BREAK

        endif

        If iskey(13)'Speichern Enter gedrückt

            LV_Text$ = @GetText$(Element&)

            If x%=2'Zahl mit Nachstellen

                LV_Text$=Translate$(LV_Text$,",",".")
                x!=val(LV_Text$)
                @Set("Decimals",2)
                LV_Text$=str$(x!)

            EndIf

            SetItemText(LV_HAndle&,addr(LV_Text$),LV_Column&,LV_Row&)
            BREAK

        endif

    wend

    clear y&,x&
    DestroyWindow(Element&)
    FreeDLL&

ENDPROC


En zwei Nachkommastellen Aprovecho meist el NEdit.dll. Sonst incluso algo stricken.
 
Gruß Thomas
Windows XP SP2, XProfan X2
15.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

11.159 Views

Untitledvor 0 min.
Member 154727723.09.2018
Peter Max Müller15.10.2017
Michael W.07.07.2016
RudiB.04.02.2016
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