| |
|
|
- Página 1 - |
|
![Normann Strübli: 07.03.2005](.././../../i/a/12207944441fcd654bf55d.gif) 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 ![](.././../../i/s/__upl_ext_1111498489.gif) 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 ![](.././../../i/s/icon_redface.gif)
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 |
|
|
| |
|
|
|
| |
|
- Página 1 - |
|
![Frank Abbing: 08.03.2005](.././../../i/a/noavatar.gif) 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ónx&=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 ![](.././../../i/s/__upl_ext_1111498539.gif) Ü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: |
|
|
| |
|
|
|
![Normann Strübli: 09.03.2005](.././../../i/a/12207944441fcd654bf55d.gif) 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! ![](.././../../i/s/__upl_ext_1148399572.gif) Bleibt doch aber alles Abwärtskompatibel... oder no?! Außerdem si uno el Grundlagen sabe entonces kanns sí no verkehrt ser.
![](.././../../i/s/_n_shades_smile.gif) |
|
|
| |
|
|
|
![Normann Strübli: 09.03.2005](.././../../i/a/12207944441fcd654bf55d.gif) Normann Strübli | Und lo va doch!
unzwar viel eleganter ![](.././../../i/s/__upl_ext_1111498489.gif)
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
|
|
|
| |
|
|
|
![Jörg Sellmeyer: 09.03.2005](.././../../i/a/8132362004294faafc5e8c.jpg) 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 Saludo Jörg |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... ![](https://www.wuestensand.info/images/CoverFataMorganaklein.jpg) | 09.03.2005 ▲ |
|
|
|
|
![Normann Strübli: 09.03.2005](.././../../i/a/12207944441fcd654bf55d.gif) 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 |
|
|
| |
|
|
|
![Jörg Sellmeyer: 09.03.2005](.././../../i/a/8132362004294faafc5e8c.jpg) 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 ![](.././../../i/s/__upl_ext_1111498539.gif) Saludo Jörg |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... ![](https://www.wuestensand.info/images/CoverFataMorganaklein.jpg) | 09.03.2005 ▲ |
|
|
|
|
![Frank Abbing: 10.03.2005](.././../../i/a/noavatar.gif) Frank Abbing | Hi,
sí, funktioniert bien! Mit dieser Notifymessage Tuve mich todavía nada correcto beschäftigt ![](.././../../i/s/icon_redface.gif) Werde Yo fest einbauen. |
|
|
| |
|
|
|
![Normann Strübli: 10.03.2005](.././../../i/a/12207944441fcd654bf55d.gif) 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 |
|
|
| |
|
|
|
![Frank Abbing: 11.03.2005](.././../../i/a/noavatar.gif) 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. |
|
|
| |
|
|
|
![Normann Strübli: 02.11.2005](.././../../i/a/12207944441fcd654bf55d.gif) 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 |
|
|
| |
|
|
| |
|
- Página 2 - |
|
|
![Frank Abbing: 03.11.2005](.././../../i/a/noavatar.gif) 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. |
|
|
| |
|
|
|
![Frank Abbing: 20.11.2005](.././../../i/a/noavatar.gif) Frank Abbing | So, Fehler gefunden. In el nächsten Versión trabajo el festen Spalten otra vez. ![](.././../../i/s/__upl_ext_1111498557.gif) |
|
|
| |
|
|