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 2 -


« 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
Sieht sehr komplex aus.
Ich werde mir die Beispielquellcodes mal anschauen und versuchen mir etwas aus dem Haaren zu raufen.
Ich hoffe doch auf etwas Unterstützung. Bei Problemen.
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
30.06.2012  
 




Julian
Schmidt
Hallo & vlt mal eine ganze doofe Frage.
Ich hab mir gerade einiges durch gelesen. Und besonders die Beispiele auf dieser Seite[...]  sind sehr aufschlussreich.
Allerdings wird dort immer ein ganzes Listview erstellt!?
Ist das in meiner Situation unnötig, oder ebenfalls notwendig. Ich möchte ja nur das Testata erstellen und bearbeiten (Custom Draw).
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
30.06.2012  
 



Schlimmes aus dem Bett holendes Gewitter hier grad in Berlin...

Du müsstest wohl schon ein "komplettes" ListView erzeugen aber ich muss auch
gestehen selbst noch kein Listview mit Custom-Draw gezeichnet zu haben.

Ich hatte mich dann immer eher dazu entschieden gleich alles selbst zu zeichen.
 
01.07.2012  
 




Thomas
Freier
Kann im Moment auch den Sinn nicht erkennen. In seinem Musterbeispiel ist ja nur der 1.Spaltenbutton durch eine Grafik zu ersetzen. Wenn's denn sein soll, in die Items der 1.Spalten einen Button circa Create... . Aber ist schon irreführend ein Button ohne Funktion. Sonst ein Icon setzen. Beispiel (hier in der 5. Spalte) : [...] 
 
Gruß Thomas
Windows XP SP2, XProfan X2
01.07.2012  
 




Julian
Schmidt
@Thomas
Der erste Button in dem "Zeile\Spalte" drin steht ist mir eig. relativ egal. Es kommt mir nur auf die Buttons da drunter an!
Willst du oben andeuten das die unteren Buttons auch ohne CostumDraw possibile sind.

[OFFTOPIC]@IF
Das Gewitter war bei mir schon gestern Abend\Nacht. Wird dann wohl zu euch weiter gezogen sein.Saluto[/OFFTOPIC]
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

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




Julian
Schmidt
Frabbing hat mich gerade per Mail auf diesen Eintrag[...]  in MSDN aufmerksam gemacht.
Es scheint so als ob man ein Testata auch ohne ein Listview erstellen kann. Ergo auch einen Testata-Button ohne Listview.
Mich würde die Umsetzung in XProfan interessieren. Bekommt das jemand hin?
Ich scheitere an meinen geringeren Erfahrungen mit Klassen,Strukturen und API.
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

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




Thomas
Freier
Bin mir nicht klar was du möchtest. Mal ist die Rede von Headerbutton, mal von Button in der Zeile. Beispiel zum Button in der Zeile mit der Listview.dll. Der Stil des Button läßt sich sicher anpassen.
Wenn der Zeilenbutton wie der Spaltenbutton aussehen soll, bleibt nur ein Hoverbutton ala SKControl.dll circa oder selbst erstellen.
KompilierenMarkierenSeparieren
Declare LV_Handle&,LV_Column&,LV_Row&,LV_Xoffset&,LV_Yoffset&,LV_Width&,LV_Height&
Declare Bereich#
Dim bereich#,320
Clear bereich#
 $I Listview_Funktionen.inc
SETTRUECOLOR 1
var Font& = @CREATE("FONT","Verdana",14,0,0,0,0)
Window 0,0-608,413
Windowtitle "Beispiel"
var lvdll&=usedll("Listview.dll")
var listview&=CreateListView(%hwnd,%hinstance,0,RGB(255,255,255),-1,$21)
SetFont listview&,Font&
InsertColumn listview&,"",60,0
InsertColumn listview&,"Spalte 1",100,2
InsertColumn listview&,"Spalte 2",100,2
ShowListView(listview&,10,10,300,200)
InitMessages(%hwnd)
declare but%[],x%

WhileLoop 0,3,1

    SetItem listview&,"","Telefon","Super"
    Clear bereich#
    GetOwnControlParas(bereich#,listview&,0,&loop)
    Get_LvData_Button'Feldparameter auslesen
    but%[&loop]= CONTROL("BUTTON",str$(int(&loop+1)),  $54010000, LV_Xoffset&-2,LV_Yoffset&,LV_Width&-2,LV_Height&-4,LV_Handle&,100,%hinstance,0)
    SetFont but%[&loop],font&

wend

while 1

    waitinput

wend

Dispose Bereich#
Dispose Mousepos#
Dispose HT_Info#
CloseMessages(%hwnd)
freedll lvdll&
 $I Listview_Dispose.inc
DELETEOBJECT Font&
End

Proc Get_LvData_Button

    LV_Handle&=Long(bereich#,0)'Listview Handle
    LV_Xoffset&=Long(bereich#,12)'X Offset
    LV_Yoffset&=Long(bereich#,16)'Y Offset
    LV_Width&=Long(bereich#,20)'Breite
    LV_Height&=Long(bereich#,24)'Höhe

Endproc

 
Gruß Thomas
Windows XP SP2, XProfan X2
01.07.2012  
 




Julian
Schmidt
@Thomas
Testata-Buttons nur untereinander statt nebeneinander. Die Testata-Buttons werden in der Listview.dll auch immer Spaltbuttons benannt. Warum meine untereinander erstellten Testata-Buttons nicht Zeilenbuttons nennen.
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

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




Thomas
Freier
So?
KompilierenMarkierenSeparieren
 $H commctrl.ph
Declare LV_Handle&,LV_Column&,LV_Row&,LV_Xoffset&,LV_Yoffset&,LV_Width&,LV_Height&
Declare Bereich#
Dim bereich#,320
Clear bereich#
 $I Listview_Funktionen.inc
SETTRUECOLOR 1
var Font& = @CREATE("FONT","Verdana",14,0,0,0,0)
Window 0,0-608,413
Windowtitle "Beispiel"
var lvdll&=usedll("Listview.dll")
var listview&=CreateListView(%hwnd,%hinstance,0,RGB(255,255,255),-1,$21)
SetFont listview&,Font&
setstyle Listview&,getstyle(Listview&) | ~LVS_NOCOLUMNHEADER
InsertColumn listview&,"",60,0
InsertColumn listview&,"Spalte 1",100,2
InsertColumn listview&,"Spalte 2",100,2
ShowListView(listview&,10,10,300,200)
InitMessages(%hwnd)
declare but%[],x%

WhileLoop 0,3,1

    SetItem listview&,"","Telefon","Super"
    Clear bereich#
    GetOwnControlParas(bereich#,listview&,0,&loop)
    Get_LvData_Button'Feldparameter auslesen
    but%[&loop]= CONTROL("BUTTON",str$(int(&loop+1)),  $54010000, LV_Xoffset&-4,LV_Yoffset&,LV_Width&,LV_Height&-4,LV_Handle&,100,%hinstance,0)
    SetFont but%[&loop],font&

wend

while 1

    waitinput

wend

Dispose Bereich#
Dispose Mousepos#
Dispose HT_Info#
CloseMessages(%hwnd)
freedll lvdll&
 $I Listview_Dispose.inc
DELETEOBJECT Font&
End

Proc Get_LvData_Button

    LV_Handle&=Long(bereich#,0)'Listview Handle
    LV_Xoffset&=Long(bereich#,12)'X Offset
    LV_Yoffset&=Long(bereich#,16)'Y Offset
    LV_Width&=Long(bereich#,20)'Breite
    LV_Height&=Long(bereich#,24)'Höhe

Endproc

 
Gruß Thomas
Windows XP SP2, XProfan X2
01.07.2012  
 




Julian
Schmidt
Nein! Du scheinst das immernoch falsch zu verstehen. Ich möchte keine einfachen Buttons und auch keine Headerbuttons auf einem Item, sonderen einfach pure Headerbuttons erstellen, um diese neben einem Listview zu erstellen.

Julian57 (29.06.12)

Kann man Buttons ähnlich Listview-Spaltbuttons einzeln erstellen (per API).
Dann potuto ich ein ganz normales Listview verwenden. Links die Buttons anordnen. Die Zeilehöhe des Listviews auf die Höhe der Spaltbuttons abändern. Und das ganze mit einen schönen Rahmen umranden.




Julian57 (01.07.12)

Frabbing hat mich gerade per Mail auf diesen Eintrag[...]  in MSDN aufmerksam gemacht.
Es scheint so als ob man ein Testata auch ohne ein Listview erstellen kann. Ergo auch einen Testata-Button ohne Listview.
Mich würde die Umsetzung in XProfan interessieren. Bekommt das jemand hin?
Ich scheitere an meinen geringeren Erfahrungen mit Klassen,Strukturen und API.
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

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



Und diese Buttons links sollen nicht vertikal mitscrollen?
 
01.07.2012  
 



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

Download


KompilierenMarkierenSeparieren
 {$compiler c:\xprofan11}
 {$runtime c:\xprofan11}
 {$cleq}
def InitCommonControlsEx(1) !"COMCTL32","InitCommonControlsEx"
decimals 0
cls
declare initc#
dim initc#,8
long initc#,0=8,1
InitCommonControlsEx(initc#)
var hwndHeader&=createWindowEx(0,WC_HEADER,0,WS_CHILD | WS_BORDER | HDS_BUTTONS | HDS_HORZ, 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,HDI_TEXT | HDI_FORMAT | HDI_WIDTH,300,txt#,0,10,HDF_LEFT | HDF_STRING
sendMessage(hwndHeader&,hdm_insertItem,0,hdItem#)
SetWindowPos hwndHeader&=10,10 - 500,100

while 1

    waitinput

wend

end

3 kB
Hochgeladen:01.07.2012
Downloadcounter67
Download
1.035 kB
Hochgeladen:01.07.2012
Downloadcounter51
Download
 
01.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.268 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