| |
|
|
- 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 |
|
|
| |
|
|
|
« 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 ! KompilierenMarkierenSeparierenDef &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 ▲ |
|
|
|
|
|
| |
|
- Page 4 - |
|
Julian Schmidt | Und bezüglich des Rahmens? |
|
|
| |
|
|
|
| Sieht wohl eh abhängig vom Thema aus:
So gibts wohl bei XP sowie bei XP ohne "visueller Stil" gar keinen Rahmen. KompilierenMarkierenSeparieren Vlt. doch einfacher Bitmap-Controls zu verwenden? |
|
|
| |
|
|
|
Julian Schmidt | Damit beantwortest du meine Frage nicht. Diese bezog sich nicht auf einen Headerbutton sondern auf das Listview. |
|
|
| |
|
|
|
| Entferne mal den erweiterten Stil ws_ex_staticEdge...
Ich hoffe ich habe Deine Frage nun beantwortet. |
|
|
| |
|
|
|
Julian Schmidt | |
|
| |
|
|
|
| Hi!
Kanns auf dem Handy eh nicht testen aber ws_ex_staticEdge = $20000.
Kann auch sein das Du diesen Stil nicht nachträglich entfernen kannst und das Control gleich mit entsprechendem Stil erstellen müsstest. |
|
|
| |
|
|
|
Julian Schmidt | Mit... KompilierenMarkierenSeparieren funktioniert ebenso nicht. Hatte ich im übrigen auch schon ausprobiert.
Wenn ich das Control gleich ohne den Stil erstelle, kann ich auf dem Listview immernoch Funktionen der Listview.dll anwenden? |
|
|
| |
|
|
|
| Erstellst Du jetzt schon das Control gleich mit dem gewünschten Stil? |
|
|
| |
|
|
| |
|
- Page 5 - |
|
|
Julian Schmidt | Ja ich habe es hinbekommen. Danke. |
|
|
| |
|
|
|
Julian Schmidt | Letzte Frage. Momentan kann ich mich noch nicht entscheiden ob ich die Spaltbuttons neben oder in das Listview lege. Wenn ich sie in das Listview lege schmieren sie unschön beim Scrollen. Wie wird man das los? KompilierenMarkierenSeparierenDeclare 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
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&,external("gdi32","GetStockObject",17)
SetFont SendMessage(listview&,$101f,0,0),external("gdi32","GetStockObject",17)
InsertColumn listview&,"",0,2
InsertColumn listview&,"...",60,2
InsertColumn listview&,"Spalte 1",100,2
InsertColumn listview&,"Spalte 2",100,2
InsertColumn listview&,"Spalte 3",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&,1,&loop)
Get_LvData_Button()
CreateHeaderButton(LV_Handle&,str$(int(&loop+1)),LV_Xoffset&-3,LV_Yoffset&+1,LV_Width&+1,LV_Height&-4)
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
Proc CreateHeaderButton
Parameters hdl&,text$,x1&,y1&,x2&,y2&
var hwndHeader&=External("User32","CreateWindowExA",0,"SysHeader32","",$50000802, 0, 0, 0, 0, hdl&,0,%hInstance, 0)
declare txt#
dim txt#,64
string txt#,0=text$
declare hditem#
dim hditem#,28
long hditem#,0=$43,x2&,txt#,0,64,$4002,0
setfont hwndHeader&,external("gdi32","GetStockObject",17)
sendMessage(hwndHeader&,$00001201,0,hdItem#)
SetWindowPos hwndHeader&=x1&,y1& - x2&,y2&
dispose hditem#
Return hwndHeader&
s4 href='./../../funktionsreferenzen/xprofan/endproc/'>EndProc
|
|
|
| |
|
|
|
| Imho höchstens mit Custom-Draw. |
|
|
| |
|
|
|
Julian Schmidt | Ok, dann lass ich das. Und nehme die andere Variante.
Danke! Ich denke damit ist der Thread geschlossen. |
|
|
| |
|
|