Foro | | | | - 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 |
| | | | |
| | | | - 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 ! 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 ▲ |
| | |
| | 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!? KompilierenMarkierenSeparierendef 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
|
| | | | |
| | | Hier ein Auszug aus der ENH: KompilierenMarkierenSeparierenDEF 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... KompilierenMarkierenSeparierenDeclare INITC#,__cf45&,TXT#,HDITEM# > fehlt. Getestet in XProfanX2, XProfan11 Free
Was è ENH? Bist du inzwischen dahinter gekommen warum dein Text nicht zu gewiesen wird? |
| | | | |
| | | In der ENH-File steht was xpse an den XProfan-Kompiler übergibt. |
| | | | |
| | | 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. |
| | | | |
| | 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: KompilierenMarkierenSeparierenwindow 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? |
| | | | |
| | Julian Schmidt | | | | | |
| | | Beziehungsweise:
|
| | | | |
| | Andreas Miethe
|
Also bei mir funktioniert es, man muss nur die Struktur richtig füllen. KompilierenMarkierenSeparierenDef &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
|
| | | 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. |
| | | | |
| | | 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 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. |
| | | | |
| | 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 ▲ |
| |
|
AnswerTopic-Options | 38.170 Views |
ThemeninformationenDieses Thema hat 5 subscriber: |