Español
Foro

Feste Spaltenbreite

 
- Página 1 -



Normann
Strübli
¡Hola,

de me war en letzter Tiempo otra vez wenig a lesen como Yo mich
mehr en mein Hardware-Projekt gekümmert habe. Aber tut sí nix
a Sache :roll:

Außerdem tener Yo angefangen con MASM angefangen así Yo, el genialen
XPIA endlich vernünftig nutzen kann
Posesiones me Buch Ensamblador - Grundlagen el Programación de
Marcus Roming y Joachin Rhode gekauft qué meiner Meinung después de para
Ensamblador Principiante bestens geeignet es. Sicherlich hay en el
Internet auch viele Anleitungen, aber una klein wenig Werbung musste a
esta Punto veces ser como me Buch tan bueno gefällt

Und Franco ha bastante si él sagt Ensamblador es generell nada así
schwer - also ran! Lo lohnt se.

So NU aber endlich mi eigentliche Cuestión:
Yo möchte en el Spalten gerne una Sortierung después de eigenen Kriterien durchführen dejar.
Yo möchte also después de más Características gleichzeitig sortieren
dejar - z.B. después de Produktgruppe UND Farbe. Dazu Yo simplemente una Spalte erstellt con el Inhalt R123 como Ejemplo. R es para el Farbe Rot y 123 sólo para qué más. Wenn Yo esta Spalte nun Sortiere lasse Yo mein Ziel ya erreicht, allerdings se el Anwender de esta Spalte sí nix sehen - wär sí blöd. Einfach el Spaltenbreite en 0 a conjunto bringt sí nix como uno ellos sí otra vez breiter hacer kann.
Kann uno also cierto spalten en el Breite irgendwie fixieren?
Si el en normalen wege no va siehst Usted Franco como una Chance el en Su Dll irgenwie con aufzunehmen? Dann podría uno auch otro Informationen en el Listview verstecken z.B. eindeutige ID-Nummern el el Anwender no sieht uno aber trotzdem auslesen kann.

gruß
Normann
 
07.03.2005  
 



 
- Página 1 -



Frank
Abbing
¡Hola Normann y IF,

[quote:a341181023]Kann uno uno solchen Listview no sagen el el Spaltenbreiten no por el Anwender veränderbar son? [/quote:a341181023]
Es meines Wissens después de no.
Aber lo son todavía una Método, el du en deine Profano-Waitinput-Bucle packen kannst. Mein Testcode Gebührenverwaltung_Stammtisch.prf macht el en efecto así:
KompilierenMarcaSeparación
x&=0
y&=GetColumnWidth(listview&,0)
Case y&<>130:x&=1
y&=GetColumnWidth(listview&,1)
Case y&<>110:x&=1
y&=GetColumnWidth(listview&,2)
Case y&<>110:x&=1
y&=GetColumnWidth(listview&,3)
Case y&<>110:x&=1
y&=GetColumnWidth(listview&,4)
Case y&<>110:x&=1
y&=GetColumnWidth(listview&,5)
Case y&<>110:x&=1

If x&

    *** Wenn ja, dann "linker Mausknopf losgelassen" simulieren und ursprüngliche
    *** Spaltenbreiten wieder herstellen.
    mouse_event(4,0,0,0,0)
    SetColumnWidth(listview&,0,130)
    SetColumnWidth(listview&,1,110)
    SetColumnWidth(listview&,2,110)
    SetColumnWidth(listview&,3,110)
    SetColumnWidth(listview&,4,110)
    SetColumnWidth(listview&,5,110)

EndIf


Como lo en dir sólo una Línea va, es el Aufwand sí todavía geringer
Übrigens kannst du en efecto todavía una zweites, unsichtbares Listview generieren...

Willkommen en Ensamblador, Normann! Aunque muß Yo dir sagen: Windows 64 Bit es antes Tür y como se se para Ensamblador einiges ändern... :roll:
 
08.03.2005  
 




Normann
Strübli
[quote:07f3459f4b]Windows 64 Bit es antes Tür y como se se para Ensamblador einiges ändern...[/quote:07f3459f4b]Na Usted bist sí bien - mach me sólo mut!
Bleibt doch aber alles Abwärtskompatibel... oder no?!
Außerdem si uno el Grundlagen sabe entonces kanns sí no verkehrt ser.

 
09.03.2005  
 




Normann
Strübli
Und lo va doch!

unzwar viel eleganter

Franco, Por favor, guck dir todos veces genauer a.
Eigentlich nada así schwer, wäre also schön si Dus entonces doch en deine
Listview.dll integrieren könntest (büdde!)
Dann braucht uno el kram con el Subclassing no.
Der Ver código fuente es una geänderter de Su Beispielen - weils para mich así más rápido ging.

Yo möchte el auch todavía dahingehend erweitern, el sólo cierto Spalten fest son.

Was meint Usted?
KompilierenMarcaSeparación
 $H windows.ph
 $H structs.ph
 $H messages.ph
 $H commctrl.ph
 $H Structs.ph
set("FastMode",1)
Strukturen
STRUCT HD_NOTIFY = ~HD_NOTIFY
DECLARE HD_NOTIFY#
Dim HD_NOTIFY#,HD_NOTIFY
Declare bereich#,listview&,lvdll&,text$,bytes&,bereich#,x&,y&,z&
Def GetSysColor(1) !"USER32","GetSysColor"
 $I Listview_Funktionen.inc

proc ListviewCallback

    Parameters Wnd&, Msg&, WParam&, LParam&

    if Msg& = ~WM_NOTIFY

        HD_NOTIFY# = lparam&

        if HD_NOTIFY#.iItem& = ~HDN_BeginTrackW  Die HDN_BeginTrack Botschaft abfangen und löschen!

            If @GetCheck(Check&)

                return 1

            endif

        else

            Return ~CallWindowProc(~GetProp(Wnd&,"OldCallback"),Wnd&, Msg&,WParam&,LParam&)

        endif

    endif

    Return ~CallWindowProc(~GetProp(Wnd&,"OldCallback"),Wnd&, Msg&,WParam&,LParam&)

Endproc

lvdll&=usedll("Listview.dll")
SetTrueColor 1
Windowstyle 543
Windowtitle "Listview mit fester Spaltenbreite"
Window 0,0-600,600
Cls GetSysColor(15)
Usefont "MS Sans Serif",10,0,0,0,0
SetDialogFont 1
x&=MixRGBs(GetSysColor(15),$00ffffff)
listview&=CreateListView(%hwnd,%hinstance,0,x&,-1,$31)
Declare Check&
Check& = @Create("CheckBox",%hwnd,"Spaltenbreite Fixieren",400,30,120,20)
text$="LVData/Laeufer_mit_Header.csv"
bytes&=@FileSize(text$)

If bytes&>0

    Dim bereich#,bytes&
    ReadFileQuick(addr(text$),bereich#,0,bytes&)
    x&=SetColumnsFromMem(listview&,bereich#,addr(y&))
    CsvToListview(listview&,(bereich#+y&),(bytes&-y&),x&)
    Dispose bereich#

EndIf

*** Die Breite der drei ersten Spalten korregieren
SetColumnWidth(listview&,0,-1)
SetColumnWidth(listview&,1,-1)
SetColumnWidth(listview&,2,-1)
AutoSortListview listview&,1,1,1,1,2,2
ShowListView(listview&,32,32,354,456)
InitMessages(%hwnd)
~SetProp(listview&,"OldCallback",~SetWindowLong(listview&,~GWL_WNDPROC, ProcAddr(ListviewCallback,4)))

While 1

    waitinput
    Case %key=2:BREAK

Wend

CloseMessages(%hwnd)
freedll lvdll&
 $I Listview_Dispose
font> End
 
09.03.2005  
 




Jörg
Sellmeyer
¡Hola Normann,
Es sí fantastisch. Außerdem Es el festlegung bestimmter Spalten bastante simplemente.
Man muß sólo en el Callbackroutine el If-Abfrage erweitern:
KompilierenMarcaSeparación
If And(@GetCheck(Check&),HD_NOTIFY#.iButton& = 1)

    Messagebox("Das geht nicht!","Ätsch!!",0)
    return 1

End

Saludo
Jörg
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
09.03.2005  
 




Normann
Strübli
Hi Jörg,

*lol* como simplemente.
Aber nu sag me todavía Por favor, wieso el así es.
(Seh gerade el Wald antes lauter Bäumen no)
In el Win32 es doch folgendes:
[quote:75fbb01985]
iButton
Index of the mouse button involved en generating the notification mensaje. This member can be one of these values:

ValueMeaning
0Left button
1Right button
2Middle button
[/quote:75fbb01985]
Also wieso es el iButton con el Encabezamiento-index bestückt y no con el gedrückten Ratón-Taste?
Hä?

Saludo
Normann
 
09.03.2005  
 




Jörg
Sellmeyer
Tja, como wirst Usted wohl BG fragen necesario. Yo habs por puren
Zufall rausgekriegt. Antes de que yo en el Ayuda nachgelesen habe,
Yo simplemente veces el Valor para Button getestet.
Hätte Yo vorher nachgelesen, wäre Yo wohl auch no en él
gekommen
Saludo
Jörg
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
09.03.2005  
 




Frank
Abbing
Hi,

sí, funktioniert bien! Mit dieser Notifymessage Tuve mich todavía nada correcto beschäftigt
Werde Yo fest einbauen.
 
10.03.2005  
 




Normann
Strübli
Dankeschön!

PS: Bin el Wochenende veces otra vez no como, also no wundern si Yo
a algo no Antworte.

gruß
Normann
 
10.03.2005  
 




Frank
Abbing
Hi,

fertig. Hab lo como Ex-Style para CreateListview() realisiert. Ist Style $400 gesetzt, entonces kann el Breite el Spalten en diesem Listview no verändert voluntad. Ist Así que una lokaler Style, gilt aber siempre para todos Spalten.
 
11.03.2005  
 




Normann
Strübli
¡Hola Franco,

kann lo ser el el Style $400 no funktioniert?
Posesiones ihn bisher no benutzt como Yo siempre sólo cierto Spalten unveränderbar gemacht habe.

Saludo
Normann
 
02.11.2005  
 



 
- Página 2 -



Frank
Abbing
¡Hola Normann,

sí, du hast bastante.
Er hatte funktioniert, aber irgendwie es él en el letzten Versión otra vez perdido gegangen. Yo kümmere mich por lo tanto.
 
03.11.2005  
 




Frank
Abbing
So, Fehler gefunden. In el nächsten Versión trabajo el festen Spalten otra vez.
 
20.11.2005  
 




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

5.240 Views

Untitledvor 0 min.
Joerg28.06.2016

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