Fuente/ Codesnippets | | | | - Página 1 - |
| Thomas Freier | Brauchte Yo para una Statistikanzeige. Hier con Pascals Listview y XProfan 11
Def GetSysColor(1) !USER32,GetSysColor
Def CreateBitmap(5) !GDI32,CreateBitmap
Def Seleccionar objeto(2) !GDI32,Seleccionar objeto
window 30,30-616,300
Cls GetSysColor(15)
declarar IcoList&
icolist&=Crear(ImageList, 222,20,33,0)
................................................... Encabezamiento-Imagen
declarar x&,y&
x&=CreateBitmap(122,20,1,1,0)
MCLS 222,20
StartPaint -1
Cls GetSysColor(15)
USEP 2,2,RGB(255,255,255)
UseBrush 1,RGB(255,255,255)
Rectángulo 0,0-0,0
y&=Seleccionar objeto(%hdc,x&)
ImageList(Add, icolist&,y&,0)
x&=Seleccionar objeto(%hdc,y&)
Cls GetSysColor(15)
Color del texto RGB(05,0,0),GetSysColor(15)
UseFont Arial,15,0,0,0,0
DrawText 0, 3, Jahrgang
y&=Seleccionar objeto(%hdc,x&)
ImageList(Add, icolist&,y&,0)
x&=Seleccionar objeto(%hdc,y&)
Cls GetSysColor(15)
Color del texto RGB(05,0,0),GetSysColor(15)
UseFont Arial,15,0,0,0,0
DrawText 0, 3, Summe
y&=Seleccionar objeto(%hdc,x&)
ImageList(Add, icolist&,y&,0)
x&=Seleccionar objeto(%hdc,y&)
Cls RGB(255,255,255)
USEP 2,2,RGB(0,0,255)
UseBrush 1,RGB(0,0,255)
Rectángulo 0,0-122,20
Color del texto RGB(255,255,255),RGB(0,0,255)
UseFont Arial,15,0,0,0,0
DrawText 0, 3, Männer
y&=Seleccionar objeto(%hdc,x&)
ImageList(Add, icolist&,y&,0)
x&=Seleccionar objeto(%hdc,y&)
Cls RGB(255,255,255)
USEP 2,2,RGB(255,0,0)
UseBrush 1,RGB(255,0,0)
Rectángulo 0,0-122,20
Color del texto RGB(255,255,255),RGB(255,0,0)
UseFont Arial,15,0,0,0,0
DrawText 0, 3, Frauen
y&=Seleccionar objeto(%hdc,x&)
ImageList(Add, icolist&,y&,0)
x&=Seleccionar objeto(%hdc,y&)
Cls GetSysColor(15)
Color del texto RGB(05,05,0),GetSysColor(15)
UseFont Arial,15,0,0,0,0
DrawText 90, 1, 50
DrawText 186, 1, 100
USEP 0,1,RGB(5,0,0)
Line 14,1 - 14,20
Line 34,1 - 34,20
Line 54,1 - 54,20
Line 74,1 - 74,20
Line 94,14 - 94,20
Line 114,1 - 114,20
Line 134,1 - 134,20
Line 154,1 - 154,20
Line 174,1 - 174,20
Line 194,14 - 194,20
y&=Seleccionar objeto(%hdc,x&)
ImageList(Add, icolist&,y&,0)
x&=Seleccionar objeto(%hdc,y&)
EndPaint
$H ListView.ph
Proc new_Item
Conjunto(Decimals,0)
Parámetros Item%,c2%,c4%,c5%
Lv#.Mask& =~LVIF_TEXT | ~LVIF_PARAM | ~LVIF_STATE
Lv#.Image& =3
Lv#.Item& =Item%
Lv#.SubItem& =0
Lv#.Texto$ =
LvInsertItem(Lv1&)
Lv#.SubItem& =1
Lv#.Texto$ = str$(c2%)
LvInsertItem(Lv1&)
Lv#.SubItem& =2
Lv#.Texto$ = str$(c4% + c5%)
LvInsertItem(Lv1&)
Lv#.SubItem& =3
Lv#.Texto$ = str$(c4%)
LvInsertItem(Lv1&)
Lv#.SubItem& =4
Lv#.Texto$ = str$(c5%)
LvInsertItem(Lv1&)
Lv#.SubItem& =5
Lv#.Texto$ =
LvInsertItem(Lv1&)
MCLS 222,20
StartPaint -1
Cls RGB(255,255,255)
USEP 2,2,RGB(0,0,255)
UseBrush 1,RGB(0,0,255)
Rectángulo 5,4 -(c4%*2),20
USEP 2,2,RGB(255,0,0)
UseBrush 1,RGB(255,0,0)
Rectángulo (c4%*2),4 - ((c4%*2)+(c5%*2)),20
y&=Seleccionar objeto(%hdc,x&)
ImageList(Add, icolist&,y&,0)
x&=Seleccionar objeto(%hdc,y&)
EndPaint
Lv#.Mask& =~LVIF_IMAGE
Lv#.Image& =GetCount(icolist&)-1
LvSetItem(Lv1&)
ENDPROC
---------------------------------------------------------------------------------Características
------Spalte einfügen
def LvInsertColumn(2) sendmessage( &(1),~LVM_INSERTCOLUMN,%(2),Lvc# )
------Kombination de LVM_SETITEMTEXT y LVM_INSERTITEM, porque para Anlegen des Items
------y para Setzen el SubItem-Textos verschiedene Messages nötig son
def LvInsertItem(1) if(Lv#.SubItem&,sendmessage(&(1),~LVM_SETITEMTEXT,Lv#.Item&,Lv#),sendmessage(&(1),~LVM_INSERTITEM,0,Lv#))
------Características uno Items conjunto (por ejemplo SubItem-Icon)
def LvSetItem(1) sendmessage( &(1),~LVM_SETITEM,0,Lv# )
declarar Lvc#,Lv#,Lv1&
Lv1&=control(SysListView32,,$54010009,20,20,570,200,%hwnd,1,%hInstance,$200)
sendmessage(Lv1&,~LVM_SETIMAGELIST,1,IcoList&)
sendmessage(Lv1&,~LVM_SETEXTENDEDLISTVIEWSTYLE,0,~LVS_EX_GRIDLINES | ~LVS_EX_SUBITEMIMAGES)
declarar Font&,Header&
Font&=Crear(Font,Arial,15,0,0,0,0)
Header&=sendmessage(Lv1&,~LVM_GETHEADER,0,0)
setfont Header&,Font&
setdialogfont Font&
struct Lvc=Mask&,Fmt&,Cx&,Text&,TextMax&,SubItem&,Image&,Order&,Texto$(200)
dim Lvc#,Lvc
clear Lvc#
Lvc#.Mask& = ~LVCF_TEXT | ~LVCF_IMAGE | ~LVCF_WIDTH
Lvc#.Text& =Lvc#+32
1. Column ausblenden, como siempre una Iconplatz disponible
Lvc#.Cx& =0
Lvc#.Image&=0
Lvc#.Texto$ =Blind
LvInsertColumn(Lv1&,0)
2. Column
Lvc#.Cx& =80
Lvc#.Image&=1
Lvc#.Texto$ =
LvInsertColumn(Lv1&,1)
3. Column
Lvc#.Cx& =70
Lvc#.Image&=2
Lvc#.Texto$ =
LvInsertColumn(Lv1&,2)
4. Column
Lvc#.Cx& =64
Lvc#.Image&=3
Lvc#.Texto$ =
LvInsertColumn(Lv1&,3)
5. Column
Lvc#.Cx& =64
Lvc#.Image&=4
Lvc#.Texto$ =
LvInsertColumn(Lv1&,4)
6. Column
Lvc#.Cx& =220
Lvc#.Image&=5
Lvc#.Texto$ =
LvInsertColumn(Lv1&,5)
disponer Lvc#
-------------------------------------------------Item 1
struct Lvi=Mask&,Item&,SubItem&,State&,StateMask&,Text&,TextMax&,Image&,Param&,Texto$(200)
dim Lv#,Lvi
clear Lv#
Lv#.Text& =(Lv#+36)
Lv#.TextMax&=200
..Item-Nr,Jahr,Männer,Frauen
new_item 0, 2000, 60, 1
-------------------------------------------------Item 2
new_item 1, 1999, 40, 4
-------------------------------------------------Item 3
new_item 2, 1998, 74, 10
-------------------------------------------------Item 4
new_item 3, 1997, 104, 2
mientras que 1
waitinput
endwhile
destroywindow(Lv1&)
DeleteObject IcoList&
DeleteObject Font&
disponer Lv#
|
| | | | |
| | « Dieser Contribución wurde como Solución gekennzeichnet. » | | p.specht
| REANIMIERT:
$H ListView.ph
' BalkenListview by Thomas Freier, reanimated 2018-10 by p.specht
Def GetSysColor(1) !"USER32","GetSysColor"
Def CreateBitmap(5) !"GDI32","CreateBitmap"
Def Seleccionar objeto(2) !"GDI32","SelectObject"
window 30,30-616,300
Cls GetSysColor(15)
declarar IcoList&
icolist&=Crear("ImageList", 222,20,33,0)
'................................................... Encabezamiento-Imagen
declarar x&,y&
x&=CreateBitmap(122,20,1,1,0)
MCLS 222,20
StartPaint -1
Cls GetSysColor(15)
USEP 2,2,RGB(255,255,255)
UseBrush 1,RGB(255,255,255)
Rectángulo 0,0-0,0
y&=Seleccionar objeto(%hdc,x&)
ImageList("Add", icolist&,y&,0)
x&=Seleccionar objeto(%hdc,y&)
Cls GetSysColor(15)
Color del texto RGB(05,0,0),GetSysColor(15)
UseFont Arial,15,0,0,0,0
DrawText 0, 3," Jahrgang"
y&=Seleccionar objeto(%hdc,x&)
ImageList("Add", icolist&,y&,0)
x&=Seleccionar objeto(%hdc,y&)
Cls GetSysColor(15)
Color del texto RGB(05,0,0),GetSysColor(15)
UseFont Arial,15,0,0,0,0
DrawText 0, 3," Summe"
y&=Seleccionar objeto(%hdc,x&)
ImageList("Add", icolist&,y&,0)
x&=Seleccionar objeto(%hdc,y&)
Cls RGB(255,255,255)
USEP 2,2,RGB(0,0,255)
UseBrush 1,RGB(0,0,255)
Rectángulo 0,0-122,20
Color del texto RGB(255,255,255),RGB(0,0,255)
UseFont Arial,15,0,0,0,0
DrawText 0, 3," Männer"
y&=Seleccionar objeto(%hdc,x&)
ImageList("Add", icolist&,y&,0)
x&=Seleccionar objeto(%hdc,y&)
Cls RGB(255,255,255)
USEP 2,2,RGB(255,0,0)
UseBrush 1,RGB(255,0,0)
Rectángulo 0,0-122,20
Color del texto RGB(255,255,255),RGB(255,0,0)
UseFont Arial,15,0,0,0,0
DrawText 0, 3," Frauen"
y&=Seleccionar objeto(%hdc,x&)
ImageList("Add", icolist&,y&,0)
x&=Seleccionar objeto(%hdc,y&)
Cls GetSysColor(15)
Color del texto RGB(05,05,0),GetSysColor(15)
UseFont Arial,15,0,0,0,0
DrawText 90, 1, 50
DrawText 186, 1, 100
USEP 0,1,RGB(5,0,0)
Line 14,1 - 14,20
Line 34,1 - 34,20
Line 54,1 - 54,20
Line 74,1 - 74,20
Line 94,14 - 94,20
Line 114,1 - 114,20
Line 134,1 - 134,20
Line 154,1 - 154,20
Line 174,1 - 174,20
Line 194,14 - 194,20
y&=Seleccionar objeto(%hdc,x&)
ImageList("Add", icolist&,y&,0)
x&=Seleccionar objeto(%hdc,y&)
EndPaint
Proc new_Item
Conjunto("Decimals",0)
Parámetros Item%,c2%,c4%,c5%
Lv#.Mask& =~LVIF_TEXT | ~LVIF_PARAM | ~LVIF_STATE
Lv#.Image& =3
Lv#.Item& =Item%
Lv#.SubItem& =0
Lv#.Texto$ =""
LvInsertItem(Lv1&)
Lv#.SubItem& =1
Lv#.Texto$ = str$(c2%)
LvInsertItem(Lv1&)
Lv#.SubItem& =2
Lv#.Texto$ = str$(c4% + c5%)
LvInsertItem(Lv1&)
Lv#.SubItem& =3
Lv#.Texto$ = str$(c4%)
LvInsertItem(Lv1&)
Lv#.SubItem& =4
Lv#.Texto$ = str$(c5%)
LvInsertItem(Lv1&)
Lv#.SubItem& =5
Lv#.Texto$ = ""
LvInsertItem(Lv1&)
MCLS 222,20
StartPaint -1
Cls RGB(255,255,255)
USEP 2,2,RGB(0,0,255)
UseBrush 1,RGB(0,0,255)
Rectángulo 5,4 -(c4%*2),20
USEP 2,2,RGB(255,0,0)
UseBrush 1,RGB(255,0,0)
Rectángulo (c4%*2),4 - ((c4%*2)+(c5%*2)),20
y&=Seleccionar objeto(%hdc,x&)
ImageList("Add", icolist&,y&,0)
x&=Seleccionar objeto(%hdc,y&)
EndPaint
Lv#.Mask& =~LVIF_IMAGE
Lv#.Image& =GetCount(icolist&)-1
LvSetItem(Lv1&)
ENDPROC
'---------------------------------------------------------------------------------Características
'------Spalte einfügen
def LvInsertColumn(2) sendmessage( &(1),~LVM_INSERTCOLUMN,%(2),Lvc# )
'------Kombination de LVM_SETITEMTEXT y LVM_INSERTITEM, porque para Anlegen des Items
'------y para Setzen el SubItem-Textos verschiedene Messages nötig son
def LvInsertItem(1) if(Lv#.SubItem&,sendmessage(&(1),~LVM_SETITEMTEXT,Lv#.Item&,Lv#),sendmessage(&(1),~LVM_INSERTITEM,0,Lv#))
'------Características uno Items conjunto (z.B. SubItem-Icon)
def LvSetItem(1) sendmessage( &(1),~LVM_SETITEM,0,Lv# )
declarar Lvc#,Lv#,Lv1&
Lv1&=control("SysListView32","",$54010009,20,20,570,200,%hwnd,1,%hInstance,$200)
sendmessage(Lv1&,~LVM_SETIMAGELIST,1,IcoList&)
sendmessage(Lv1&,~LVM_SETEXTENDEDLISTVIEWSTYLE,0,~LVS_EX_GRIDLINES | ~LVS_EX_SUBITEMIMAGES)
declarar Font&,Header&
Font&=Crear("Font",Arial,15,0,0,0,0)
Header&=sendmessage(Lv1&,~LVM_GETHEADER,0,0)
setfont Header&,Font&
setdialogfont Font&
struct Lvc=Mask&,Fmt&,Cx&,Text&,TextMax&,SubItem&,Image&,Order&,Texto$(200)
Dim Lvc#,Lvc
clear Lvc#
Lvc#.Mask& = ~LVCF_TEXT | ~LVCF_IMAGE | ~LVCF_WIDTH
Lvc#.Text& =Lvc#+32
'1. Column ausblenden, como siempre una Iconplatz disponible
Lvc#.Cx& =0
Lvc#.Image&=0
Lvc#.Texto$ ="Blind"
LvInsertColumn(Lv1&,0)
'2. Column
Lvc#.Cx& =80
Lvc#.Image&=1
Lvc#.Texto$ =""
LvInsertColumn(Lv1&,1)
'3. Column
Lvc#.Cx& =70
Lvc#.Image&=2
Lvc#.Texto$ =""
LvInsertColumn(Lv1&,2)
'4. Column
Lvc#.Cx& =64
Lvc#.Image&=3
Lvc#.Texto$ =""
LvInsertColumn(Lv1&,3)
'5. Column
Lvc#.Cx& =64
Lvc#.Image&=4
Lvc#.Texto$ =""
LvInsertColumn(Lv1&,4)
'6. Column
Lvc#.Cx& =220
Lvc#.Image&=5
Lvc#.Texto$ =""
LvInsertColumn(Lv1&,5)
disponer Lvc#
'-------------------------------------------------Item 1
struct Lvi=Mask&,Item&,SubItem&,State&,StateMask&,Text&,TextMax&,Image&,Param&,Texto$(200)
dim Lv#,Lvi
clear Lv#
Lv#.Text& =(Lv#+36)
Lv#.TextMax&=200
'..Item-Nr,Jahr,Männer,Frauen
new_item 0, 2000, 60, 1
'-------------------------------------------------Item 2
new_item 1, 1999, 40, 4
'-------------------------------------------------Item 3
new_item 2, 1998, 74, 10
'-------------------------------------------------Item 4
new_item 3, 1997, 104, 2
mientras que 1
waitinput
endwhile
destroywindow(Lv1&)
DeleteObject IcoList&
DeleteObject Font&
disponer Lv#
FIN
|
| | | XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 10.10.2018 ▲ |
| | |
| | Michael W. | ListView.ph
existiert en mi INCLUDE-Directorio no.
P.S.: Glücklicherweise hay hier una muy große Sammlung de Encabezamiento.
Und... Wow, el sieht echt Klasse de... |
| | | System: Windows 8/10, XProfan X4 Programmieren, das spannendste Detektivspiel der Welt. | 12.10.2018 ▲ |
| |
|
Zum QuelltextThemeninformationenDieses Thema ha 3 subscriber: |