Italia
Foro

Listview Headerbuttons; Listview alla Excel

 
- Page 1 -



Julian
Schmidt
Ciao,
ich würde gerne ein Listview mit sowohl horizontalen als auch vertikalen Spalt-, Zeilenbuttons erstellen.
Bei den Zeilenbuttons ist mir unerheblich ob man die Höhe und Breite per Maus verändern kann oder nicht. Außerdem ist die horizontale Sortierung der Itemtexte unnötigt.
Wie kann man so etwas realisieren?

LG

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

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
28.06.2012  
 



 
- Page 3 -


« Dieser Beitrag wurde als Lösung gekennzeichnet. »

- Page 3 -



Andreas
Miethe


Julian57 (02.07.12)

hmmm......gut. Nur wie bekommt man das Feld zur Texteingabe ausgeblendet. Und die Skalierbarkeit per Maus unterdrückt? Außerdem müssen die "Sortierungspfeile" nicht unbedingt gesetzt sein.


Den Stil ändern !
KompilierenMarkierenSeparieren
Def &HDM_INSERTITEMA $00001201
def CreateWindowEx(12) !"User32","CreateWindowExA"
decimals 0
cls
var hwndHeader&=createWindowEx(0,"SysHeader32","",$50800802, 0, 0, 0, 0, %hWnd,0,%hInstance, 0)
declare txt#
dim txt#,64
string txt#,0="Hallo Welt"
declare hditem#
dim hditem#,28
long hditem#,0=$43,200,txt#,0,64,$4000,0
sendMessage(hwndHeader&,&hdm_insertItemA,0,hdItem#)
string txt#,0="Hallo Karl"
long hditem#,0=$43,200,txt#,0,64,$4000,0
sendMessage(hwndHeader&,&hdm_insertItemA,1,hdItem#)
SetWindowPos hwndHeader&=10,10 - 400,32
dispose hditem#

while 1

    waitinput

wend

end
 
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
02.07.2012  
 




Julian
Schmidt
iF (01.07.12)

Und diese Buttons links sollen nicht vertikal mitscrollen?


Nein sollen Sie nicht!

iF (01.07.12)

Irgendwas stimmt hier aber noch nicht da kein Text angezeigt wird:


Ja sieht ganz so aus. Ganz nebenbei scheint es so in reinen XProfan gar nicht zu funktionieren!?
KompilierenMarkierenSeparieren
def InitCommonControlsEx(1) !"COMCTL32","InitCommonControlsEx"
def CreateWindowEx(12) !"User32","CreateWindowExA"
decimals 0
cls
declare initc#
dim initc#,8
long initc#,0=8,1
InitCommonControlsEx(initc#)
var hwndHeader&=createWindowEx(0,$20,0,$40000000| $800000 | $2 | $0, 0, 0, 0, 0, %hWnd,0,%hInstance, 0)
declare txt#
dim txt#,64
string txt#,0="Hallo Welt"
declare hditem#
dim hditem#,28
long hditem#,0=28,$2 | $4 | $1,300,txt#,0,10,$0 | $4000
sendMessage(hwndHeader&,hdm_insertItem,0,hdItem#)
SetWindowPos hwndHeader&=10,10 - 500,100

while 1

    waitinput

wend

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

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
01.07.2012  
 



Hier ein Auszug aus der ENH:
KompilierenMarkierenSeparieren
DEF INITCOMMONCONTROLSEX(1) !"COMCTL32","InitCommonControlsEx"
DECIMALS 0
CLS
DIM INITC#,8
LONG INITC#,0=8,1
INITCOMMONCONTROLSEX(INITC#)
VAR HWNDHEADER&=call(__cf45&,0,"sysheader32",0,$40000000 | $800000 | $00000002 | $00000000, 0, 0, 0, 0, %hwnd,0,%hinstance, 0)
DIM TXT#,64
STRING TXT#,0="Hallo Welt"
DIM HDITEM#,28
LONG HDITEM#,0=28,$0002 | $0004 | $0001,300,TXT#,0,10,0 | $4000
SENDMESSAGE(HWNDHEADER&,$1200 + 1,0,HDITEM#)
SETWINDOWPOS HWNDHEADER&=10,10 - 500,100

WHILE 1

    WAITINPUT

01.07.2012  
 




Julian
Schmidt
Da stürzt bei mir der Interpreter ab. Ungeachtet dessen das...
KompilierenMarkierenSeparieren
Declare INITC#,__cf45&,TXT#,HDITEM#
>

fehlt.
Getestet in XProfanX2, XProfan11 Free



Was è ENH?
Bist du inzwischen dahinter gekommen warum dein Text nicht zu gewiesen wird?

27 kB
Hochgeladen:01.07.2012
Downloadcounter62
Download
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
01.07.2012  
 



In der ENH-File steht was xpse an den XProfan-Kompiler übergibt.
 
02.07.2012  
 



Unter Vista leider auch kein Text und ich sehe auch nicht weshalb kein Text
gezeigt wird.

Vielleicht bekommt das ja jemand raus oder hat damit Erfahrung.
 
02.07.2012  
 




Thomas
Freier
@Julian, du möchtest also nicht: Listview mit sowohl horizontalen als auch vertikalen Spalt-, Zeilenbuttons,
sondern Buttons im Stil der LV-Haederbutton. In etwa so:
KompilierenMarkierenSeparieren
window 10,100-750,300
'
 $H Messages.ph
 $H Windows.ph
 $H commctrl.ph
 $I Listview_Funktionen.inc
SETTRUECOLOR 1
var lvdll&=usedll("Listview.dll")
var font&=CreateFont("Arial",14,0,0,0,0)
Declare Bereich#
Dim bereich#,320
Clear bereich#
var Lv1&=CreateListView(%hwnd,%hinstance,0,rgb(255,255,255),-1,$421)
InsertColumn lv1&,"1.",60,1
ShowListView(lv1&,120,30,66,24)
SetFont Lv1&,font&
var Lv2&=CreateListView(%hwnd,%hinstance,0,rgb(255,255,255),-1,$421)
InsertColumn lv2&,"2.",60,1
ShowListView(lv2&,120,53,66,24)
SetFont Lv2&,font&
Declare x&, y&
InitMessages(%hwnd)
setfocus(Lv1&)

while 1

    waitinput 10
    y&=GetControlParas(bereich#)
    x&=GetVar(4)

    If x&<>-1

        y&=GetVar(5)
        case y&=Lv1&:  print "1. gedrückt"
        case y&=Lv2&:  print "2. gedrückt"

    EndIf

endwhile

DeleteObject font&
Dispose Bereich#
CloseMessages(%hwnd)
freedll lvdll&
End

Ob das überhaupt machbar ist?
 
Gruß Thomas
Windows XP SP2, XProfan X2
02.07.2012  
 




Julian
Schmidt
Jup, siehe [...]  &[...] 
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
02.07.2012  
 



Beziehungsweise:


36 kB
Hochgeladen:02.07.2012
Downloadcounter69
Download
 
02.07.2012  
 




Andreas
Miethe




Also bei mir funktioniert es, man muss nur die Struktur richtig füllen.
KompilierenMarkierenSeparieren
Def &HDM_INSERTITEMA $00001201
def InitCommonControlsEx(1) !"COMCTL32","InitCommonControlsEx"
def CreateWindowEx(12) !"User32","CreateWindowExA"
decimals 0
cls
declare initc#
dim initc#,8
long initc#,0=8,1
InitCommonControlsEx(initc#)
var hwndHeader&=createWindowEx(0,"SysHeader32","",$40800342, 0, 0, 0, 0, %hWnd,0,%hInstance, 0)
declare txt#
dim txt#,64
string txt#,0="Hallo Welt"
declare hditem#
dim hditem#,28
long hditem#,0=$43,200,txt#,0,64,$400,0
sendMessage(hwndHeader&,&hdm_insertItemA,0,hdItem#)
string txt#,0="Hallo Karl"
long hditem#,0=$43,200,txt#,0,64,$400,0
sendMessage(hwndHeader&,&hdm_insertItemA,1,hdItem#)
SetWindowPos hwndHeader&=10,10 - 400,40

while 1

    waitinput

wend

end

2 kB
Hochgeladen:02.07.2012
Downloadcounter48
Download
 
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
02.07.2012  
 




Julian
Schmidt
hmmm......gut. Nur wie bekommt man das Feld zur Texteingabe ausgeblendet. Und die Skalierbarkeit per Maus unterdrückt? Außerdem müssen die "Sortierungspfeile" nicht unbedingt gesetzt sein.
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
02.07.2012  
 



Andreas Miethe (02.07.12)

Also bei mir funktioniert es, man muss nur die Struktur richtig füllen.


Genau, grmpfzbl - ich Depp weiß garnicht wie ich drauf kam hier zuerst die
Dimensione der Struktur anzugeben:
KompilierenMarkierenSeparieren
long hditem#,0=28,HDI_TEXT | HDI_FORMAT | HDI_WIDTH,100,addr(txt#),null,5,HDF_LEFT | HDF_STRING
>

wo doch die Struktur lt. msdn das garnicht vorsieht -

einfach die 28 vorne weglassen:
KompilierenMarkierenSeparieren und schon funktionierts.

Julian57 (02.07.12)

hmmm......gut. Nur wie bekommt man das Feld zur Texteingabe ausgeblendet. Und die Skalierbarkeit per Maus unterdrückt? Außerdem müssen die "Sortierungspfeile" nicht unbedingt gesetzt sein.


Bei CreateWindowEx die Style-Parameter ändern -

Stile einfach z.B. mit Control-Spy abschauen.
 
02.07.2012  
 




Andreas
Miethe


Julian57 (02.07.12)

hmmm......gut. Nur wie bekommt man das Feld zur Texteingabe ausgeblendet. Und die Skalierbarkeit per Maus unterdrückt? Außerdem müssen die "Sortierungspfeile" nicht unbedingt gesetzt sein.


Den Stil ändern !
KompilierenMarkierenSeparieren
Def &HDM_INSERTITEMA $00001201
def CreateWindowEx(12) !"User32","CreateWindowExA"
decimals 0
cls
var hwndHeader&=createWindowEx(0,"SysHeader32","",$50800802, 0, 0, 0, 0, %hWnd,0,%hInstance, 0)
declare txt#
dim txt#,64
string txt#,0="Hallo Welt"
declare hditem#
dim hditem#,28
long hditem#,0=$43,200,txt#,0,64,$4000,0
sendMessage(hwndHeader&,&hdm_insertItemA,0,hdItem#)
string txt#,0="Hallo Karl"
long hditem#,0=$43,200,txt#,0,64,$4000,0
sendMessage(hwndHeader&,&hdm_insertItemA,1,hdItem#)
SetWindowPos hwndHeader&=10,10 - 400,32
dispose hditem#

while 1

    waitinput

wend

end
 
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
02.07.2012  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

38.317 Views

Untitledvor 0 min.
Member 154727723.09.2018
Peter Max Müller02.11.2017
Ernst28.07.2016
Uwe Lang22.07.2016
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie