Français
Forum

GridBox & CUSTOMDRAW per SubClassing

Listview-Customdraw avec Subclassing: So geht's

 

Jens-Arne
Reumschüssel
si aussi seulement bien 9 Jahre später... peut-être hilft's oui quand même encore, ou bien wenigstens quelqu'un anderem:
'Gridbox(=ListView)-CustomDraw-Beispiel
 $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&
declare _hGB%,_hBende%,_ende%

SUBCLASSPROC

    declare b#,lParam&,ret&

    si &sWnd=%HWnd

        si %sMessage=~WM_NOTIFY

            lParam&=&sLParam
            dim b#,NMLVCUSTOMDRAW
            b#=lParam&

            si (b#.hwndFrom&=_hGB%) and (b#.code&=~NM_CUSTOMDRAW)

                si b#.dwDrawStage&=~CDDS_PREPAINT'juste wird cela Listview récente gezeichnet

                    ret&=~CDRF_NOTIFYITEMDRAW'Folgemessages anfordern

                elseif b#.dwDrawStage&=~CDDS_ITEMPREPAINT'juste wird un Item gezeichnet

                    'b#.clrText&=$0000FFFF '@rgb(255,255,0) 'Textfarbe qui cellule changement
                    'b#.clrTextBk&=$00FFFF00 '@rgb(0,255,255) 'Hintergrundfarbe qui cellule changement
                    'ret&=~CDRF_NEWFONT 'ginge aussi, ensuite sommes alle Zeilen juste teinté, qui prochain elseif-paragraphe wäre ensuite unnötig
                    ret&=~CDRF_NOTIFYSUBITEMDRAW'Folgemessages avant dem Zeichnen chaque individuel Subitems anfordern

                elseif (b#.dwDrawStage& & (~CDDS_ITEMPREPAINT | ~CDDS_SUBITEM))=(~CDDS_ITEMPREPAINT | ~CDDS_SUBITEM)'juste wird un Subitem gezeichnet

                    'b#.dwItemSpec&=Zeile
                    'b#.iSubItem&=Spalte
                    b#.clrText&=@rgb(255,255,b#.dwItemSpec&*13+b#.iSubItem&*30)'Textfarbe qui cellule changement
                    b#.clrTextBk&=@rgb(0,200,b#.dwItemSpec&*13+b#.iSubItem&*30)'Hintergrundfarbe qui cellule changement
                    ret&=~CDRF_NEWFONT

                endif

            endif

            dispose b#

            si ret&<>0

                @set("WINPROC",0)'muss son, sonst allez's pas
                return ret&'CustomDraw-spezifischen Wert 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 allez's malheureusement pas
subclass %HWnd,1'pas qui GridBox subclassen, mais cela Hauptfenster (dahin aller qui 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

    si @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! et pour ne gute concept ist es nie trop spät. Würdest du quand même den Beitrag nochmal direct sous Uwes Beitrag récente erstellen? ensuite muss on sich pas par une zusätzlichen Link hangeln.
je serait ihn Déplacer mais qui Forumprogrammierung peut mich grad pas
 
XProfan X3
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
23.05.2018  
 




Jens-Arne
Reumschüssel
Hmm, mais ensuite ist qui Überschrift weg, si je direct antworte. ou bien meinst Du cela anders?
 
XProfan X3
XProfan 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 mon je cela. ensuite ist zwar qui Überschrift weg mais tu peux es oui im Text insérer.
Finde je jedenfalls besser, comme un Unterthema, wodurch qui Thrad unübersichtlicher wird, là on zur Solution nochmal durchklicken muss.
 
XProfan X3
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
23.05.2018  
 




Jens-Arne
Reumschüssel
mais ensuite ist qui Eintrag pas plus dans qui Vue d'ensemble et qui cherche pour trouver. cela finde je deutlich schlechter, comme une Klick plus faire trop doit. ou bien wird qui Text ("Body") qui nouvelle dans qui cherche également avec einbezogen? ensuite wär's réellement une amélioration.
 
XProfan X3
XProfan 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
...ah égal, je Poste cela simple encore einmal direct sous dem Originaleintrag, ensuite sommes alle Wünsche bedient.
 
XProfan X3
XProfan 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
Pourquoi? si homme Listview, Customdraw ou bien Subclassing eingibt, venez doch cette Fil. ou bien meinst du, quelqu'un cherchez pour "so gehts"?
 
XProfan X3
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
23.05.2018  
 




Jens-Arne
Reumschüssel
non, cela naturellement pas. mais qui Solution taucht ensuite plan aussi pas dans qui Threadübersicht sur, wohin vous quelqu'un ins Auge tomber pourrait, qui peut-être oui c'est ca même chose Problem hat. c'est mais aussi déjà alles. Meinetwegen peux cette Unterthread aussi volontiers gelöscht volonté.
 
XProfan X3
XProfan 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 laisser ihn simple erstmal drin.
 
XProfan X3
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
23.05.2018  
 




p.specht

Jedenfalls une entier tolle l'affaire, hab quelque chose comme encore nie gesehen!
Ähnliches avec einfärbig Einfärben Gabs la fois de Sebastian Koenig, mais je trouve cela partie malheureusement pas plus...
 
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
24.05.2018  
 



répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

8.292 Views

Untitledvor 0 min.
Jens-Arne Reumschüssel21.04.2022
RudiB.16.02.2022
Stringray05.01.2022
Manfred Barei06.09.2021
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie