| |
|
|
Jens-Arne Reumschüssel | Wenn auch sólo bien 9 Jahre später... Tal vez hilft's sí trotzdem todavía, oder wenigstens alguien anderem:
'Gridbox(=ListView)-CustomDraw-Ejemplo
$H windows.ph
$H messages.ph
$H commctrl.ph
STRUCT NMHDR=hwndFrom&,idFrom&,code&
STRUCT NMCUSTOMDRAW=NMHDR,dwDrawStage&,hdc&,rcLeft&,rcTop&,rcRight&,rcBottom&,dwItemSpec&,uItemState&,lItemlParam&
STRUCT NMLVCUSTOMDRAW=NMCUSTOMDRAW,clrText&,clrTextBk&,iSubItem&,dwItemType&,clrFace&,iIconEffect&,iIconPhase&,iPartId&,iStateId&,rcTextLeft&,rcTextTop&,rcTextRight&,rcTextBottom&,uAlign&
declarar _hGB%,_hBende%,_ende%
SUBCLASSPROC
declarar b#,lParam&,ret&
if &sWnd=%HWnd
if %sMessage=~WM_NOTIFY
lParam&=&sLParam
dim b#,NMLVCUSTOMDRAW
b#=lParam&
if (b#.hwndFrom&=_hGB%) and (b#.code&=~NM_CUSTOMDRAW)
if b#.dwDrawStage&=~CDDS_PREPAINT'igual se el Listview redibujar
ret&=~CDRF_NOTIFYITEMDRAW'Folgemessages anfordern
elseif b#.dwDrawStage&=~CDDS_ITEMPREPAINT'igual se una Item suscrito
'b#.clrText&=$0000FFFF '@rgb(255,255,0) 'Textfarbe el Zelle ändern
'b#.clrTextBk&=$00FFFF00 '@rgb(0,255,255) 'Color de fondo el Zelle ändern
'ret&=~CDRF_NEWFONT 'ginge auch, entonces son todos Zeilen igual gefärbt, el nächste elseif-Abschnitt wäre entonces unnötig
ret&=~CDRF_NOTIFYSUBITEMDRAW'Folgemessages antes el Dibujar cada individual Subitems anfordern
elseif (b#.dwDrawStage& & (~CDDS_ITEMPREPAINT | ~CDDS_SUBITEM))=(~CDDS_ITEMPREPAINT | ~CDDS_SUBITEM)'igual se una Subitem suscrito
'b#.dwItemSpec&=Zeile
'b#.iSubItem&=Spalte
b#.clrText&=@rgb(255,255,b#.dwItemSpec&*13+b#.iSubItem&*30)'Textfarbe el Zelle ändern
b#.clrTextBk&=@rgb(0,200,b#.dwItemSpec&*13+b#.iSubItem&*30)'Color de fondo el Zelle ändern
ret&=~CDRF_NEWFONT
endif
endif
disponer b#
if ret&<>0
@set("WINPROC",0)'muss ser, sonst va's no
volver ret&'CustomDraw-spezifischen Valor zurückgeben
endif
endif
endif
ENDPROC'SUBCLASSPROC
'***** Hauptprogramm
cls
_hGB%=@create("GRIDBOX",%HWnd,"Spalte 1;0;100;Spalte 2;0;100;Spalte 3;0;100;Spalte 4;0;100;Spalte 5;0;100;Spalte 6;0;100",0,0,0,@width(%HWnd),(@height(%HWnd)-40))
_hBende%=@create("BUTTON",%HWnd,"Ende",((@width(%HWnd)\2)-35),(@height(%HWnd)-30),70,20)
@set("FASTMODE",1)'sonst va's por desgracia, no
subclass %HWnd,1'no el GridBox subclassen, pero la ventana principal (dahin ir el WM_NOTIFY-Messages)
@addstring(_hGB%,"Test|TestTest|TestTestTest|Test|TestTest|TestTestTest")
@addstring(_hGB%,"Test|TestTest|TestTestTest|Test|TestTest|TestTestTest")
@addstring(_hGB%,"Test|TestTest|TestTestTest|Test|TestTest|TestTestTest")
@addstring(_hGB%,"Test|TestTest|TestTestTest|Test|TestTest|TestTestTest")
@addstring(_hGB%,"Test|TestTest|TestTestTest|Test|TestTest|TestTestTest")
@addstring(_hGB%,"Test|TestTest|TestTestTest|Test|TestTest|TestTestTest")
@addstring(_hGB%,"Test|TestTest|TestTestTest|Test|TestTest|TestTestTest")
@addstring(_hGB%,"Test|TestTest|TestTestTest|Test|TestTest|TestTestTest")
@addstring(_hGB%,"Test|TestTest|TestTestTest|Test|TestTest|TestTestTest")
@addstring(_hGB%,"Test|TestTest|TestTestTest|Test|TestTest|TestTestTest")
@addstring(_hGB%,"Test|TestTest|TestTestTest|Test|TestTest|TestTestTest")
@addstring(_hGB%,"Test|TestTest|TestTestTest|Test|TestTest|TestTestTest")
@addstring(_hGB%,"Test|TestTest|TestTestTest|Test|TestTest|TestTestTest")
@addstring(_hGB%,"Test|TestTest|TestTestTest|Test|TestTest|TestTestTest")
@addstring(_hGB%,"Test|TestTest|TestTestTest|Test|TestTest|TestTestTest")
@addstring(_hGB%,"Test|TestTest|TestTestTest|Test|TestTest|TestTestTest")
@addstring(_hGB%,"Test|TestTest|TestTestTest|Test|TestTest|TestTestTest")
@addstring(_hGB%,"Test|TestTest|TestTestTest|Test|TestTest|TestTestTest")
@addstring(_hGB%,"Test|TestTest|TestTestTest|Test|TestTest|TestTestTest")
_ende%=0
whilenot _ende%
waitinput
if @clicked(_hBende%)
_ende%=1
endif
endwhile
subclass %HWnd,0
@set("FASTMODE",0)
end
|
|
|
| XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 22.05.2018 ▲ |
|
|
|
|
Jörg Sellmeyer | Toll! Und para ne gute Concepto es nie a spät. Würdest du trotzdem el Contribución otra vez direkt bajo Uwes Contribución neu redactar? Dann muss uno se no por una zusätzlichen Link hangeln. Yo sería ihn mover aber el Forumprogrammierung lässt mich grad no |
|
|
| |
|
|
|
Jens-Arne Reumschüssel | Hmm, aber entonces el Überschrift weg, si yo direkt antworte. Oder media Usted el anders? |
|
|
| XProfan X3XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 23.05.2018 ▲ |
|
|
|
|
Jörg Sellmeyer | Genauso mein Yo el. Dann Aunque el Überschrift weg aber du kannst lo sí en el Texto einfügen. Finde Yo jedenfalls mejor, como una Unterthema, wodurch el Thrad unübersichtlicher se, como uno a Solución otra vez durchklicken muss. |
|
|
| |
|
|
|
Jens-Arne Reumschüssel | Aber entonces el Eintrag no mehr en el Información general y Búsqueda para encontrar. Das finde Yo deutlich schlechter, como una Clic mehr hacer tener. Oder se el Texto ("Body") el Nachricht en el Búsqueda ebenfalls con einbezogen? Dann wär's tatsächlich una Verbesserung. |
|
|
| XProfan X3XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 23.05.2018 ▲ |
|
|
|
|
Jens-Arne Reumschüssel | ...ach egal, Yo poste lo simple todavía una vez direkt bajo el Originaleintrag, entonces son todos Wünsche bedient. |
|
|
| XProfan X3XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 23.05.2018 ▲ |
|
|
|
|
Jörg Sellmeyer | ¿Por qué? Wenn mann Listview, Customdraw oder Subclassing eingibt, kommt doch dieser Hilo. Oder media du, alguien sucht después de "so gehts"? |
|
|
| |
|
|
|
Jens-Arne Reumschüssel | Nein, el natürlich no. Aber el Solución taucht entonces eben auch no en el Threadübersicht en, wo ellos jemandem en el Auge fallen podría, el tal vez genau dasselbe Problema ha. Pero esto es auch ya alles. Meinetwegen kann dieser Unterthread También me gusta gelöscht voluntad. |
|
|
| XProfan X3XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM PM: jreumsc@web.de | 23.05.2018 ▲ |
|
|
|
|
Jörg Sellmeyer | Wir dejar ihn simplemente primero drin. |
|
|
| |
|
|
|
p.specht
| Jedenfalls una bastante tolle Sache, tener algo como todavía nie gesehen! Ähnliches con einfärbig Einfärben gabs tiempos de Sebastian Koenig, pero yo finde el Teil por desgracia, no mehr... |
|
|
| Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 24.05.2018 ▲ |
|
|
|