Français
Wünsche et Anregungen

Wunsch: Unterstützung de CUSTOMDRAW-Controls

 

Uwe
''Pascal''
Niemeier
Hi gens, allô Roland!

ici encore une l'affaire, qui mir aus aktuellem Anlaß am Herzen liegt:
und dir tout autor, qui Profans SubClassing seulement begrenzt zur Verwendung de CUSTOMDRAW-Controls taugt.
(Roland hatte oui selbst déjà puis hingewiesen).
ici nochmal qui comparaison ProcAddr/SubClass:
KompilierenMarqueSéparation
window 500,500
 $H Messages.ph
 $H Windows.ph
 $H commctrl.ph
declare LvDraw#
struct LvDraw= HwndFrom&,idFrom&,Code&,DrawStage&,Hdc&,Rect#(16),ItemSpec&,ItemState&,ItemLparam&,Text&,Textbk&,SubItem&
dim LvDraw#,LvDraw

proc ColorProc'--------------------------------------------------------

    parameters wnd&,msg&,wparam&,lparam&

    if msg&=~WM_NOTIFY

        LvDraw#=lparam&

        if (LvDraw#.Hwndfrom&=Lv&)*(LvDraw#.Code&=~NM_CUSTOMDRAW)

            case LvDraw#.DrawStage&=~CDDS_PREPAINT:    return ~CDRF_NOTIFYITEMDRAW
            case LvDraw#.DrawStage&=~CDDS_ITEMPREPAINT:return ~CDRF_NOTIFYSUBITEMDRAW

            if LvDraw#.DrawStage&=~CDDS_SUBITEM | ~CDDS_ITEMPREPAINT

                case LvDraw#.SubItem&=0:LvDraw#.Textbk&=rgb(255,200,200)
                case LvDraw#.SubItem&=1:LvDraw#.Textbk&=rgb(200,255,200)
                case LvDraw#.SubItem&=2:LvDraw#.Textbk&=rgb(200,200,255)

            endif

        endif

    endif

    return ~CallWindowProc(&WinProc,wnd&,msg&,wparam&,lparam&)

endproc'-------------------------------------------------------------

var Lv&=create("gridbox",%hwnd,"Spalte 0;0;100;Spalte 1;0;100;Spalte 2;0;100",0,20,20,400,300)

whileloop 0,50

    addstring(Lv&,"Test|Test|Test")

endwhile

set("FastMode",1)
~SetWindowLong(%hwnd,~GWL_WNDPROC,procaddr(ColorProc,4))
repaint

while 1

    waitinput

endwhile


KompilierenMarqueSéparation
window 500,500
 $H Messages.ph
 $H Windows.ph
 $H commctrl.ph
declare LvDraw#
struct LvDraw= HwndFrom&,idFrom&,Code&,DrawStage&,Hdc&,Rect#(16),ItemSpec&,ItemState&,ItemLparam&,Text&,Textbk&,SubItem&
dim LvDraw#,LvDraw

subclassproc'--------------------------------------------------------

    si subclassmessage(%hwnd,~WM_NOTIFY)

        LvDraw#=&slparam

        si (LvDraw#.Hwndfrom&=Lv&)*(LvDraw#.Code&=~NM_CUSTOMDRAW)

            set("winproc",0)
            cas LvDraw#.DrawStage&=~CDDS_PREPAINT:    return ~CDRF_NOTIFYITEMDRAW
            cas LvDraw#.DrawStage&=~CDDS_ITEMPREPAINT:return ~CDRF_NOTIFYSUBITEMDRAW

            si LvDraw#.DrawStage&=~CDDS_SUBITEM | ~CDDS_ITEMPREPAINT

                cas LvDraw#.SubItem&=0:LvDraw#.Textbk&=rgb(255,200,200)
                cas LvDraw#.SubItem&=1:LvDraw#.Textbk&=rgb(200,255,200)
                cas LvDraw#.SubItem&=2:LvDraw#.Textbk&=rgb(200,200,255)

            endif

        endif

    endif

endproc'-------------------------------------------------------------

var Lv&=create("gridbox",%hwnd,"Spalte 0;0;100;Spalte 1;0;100;Spalte 2;0;100",0,20,20,400,300)

whileloop 0,50

    addstring(Lv&,"Test|Test|Test")

endwhile

subclass %hwnd,1

tandis que 1

    waitinput

endwhile


Auffällig ist dabei, qui chez Version 2 cela ListView farbig wird, si cela Hauptfenster de Außen zum Neuzeichnen gezwungen wird.
chacun Versuch, cette effet im Programme selbst trop erzeugen, schlug fehl.
eh bien frage je mich, si on den Befehl RePaint  peut-être derart modifizieren pourrait, qui dadurch qui SubClassProc aufgerufen wird?
Möglicherweise sur une neuen Modus-paramètre?

BTW: j'ai aussi versucht, qui SubClassProc zur initialisation des Controls comme "normale" Windowprozedur einzusetzen (per &ScProc) , mais là gibt es près de dem spezifischen ENDPROC/Retour-Verhalten wohl encore autre Unterschiede.

ou bien gibt's encore autre Möglchkeiten?

SeeYou
Pascal
 
15.12.2010  
 



allô Uwe,

là qui XProfan-technologie begrenzt ist J'ai eu pour solche Sachen qui nProcs erfunden - avec cela funktioniert quelque chose comme alles correct. Wers alors "braucht" hat une profane Possibilité et muss pas z.B. sur Fremdsprachen zurückgreifen. So funktioniert aussi qui canvas-Include ( [...]  ) .

quoi Roland faire pourrait wäre une sicheres ProcAddr pour WNDPRocs - hierfür devrait il den le bout des XProfan-Programmes dans une vom L'assurance-chômage-Fil unabhängigen eigenen Fil umlegen et qui eigene Fil pourrait ensuite vom L'assurance-chômage-Fil "bemeldet" volonté.

je sais déjà oui c'est ca comment cela marcher serait et comment on cela programmieren devrait - wird mais un kleiner Akt et Roland hat vlt. aucun Zeit.
 
15.12.2010  
 




RGH
Salut,
um à qui Version X2 quelque chose trop drehen, ist es définitif trop spät, car sonst wird vous nie fertig.

mais à anderer Stelle habe je oui déjà dans vue gestellt, dass es dans absehbarer Zeit une Verson .1 donner pourrait (naturellement ensuite zum kostenlosen Dowenload pour alle X2-Besitzer). là pourrait je mich ensuite aussi cet Themas annehmen.

Salut
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
16.12.2010  
 




Uwe
''Pascal''
Niemeier
Hi gens!

@ Roland:


um à qui Version X2 quelque chose trop drehen, ist es définitif trop spät, car sonst wird vous nie fertig.


déjà bien sûr! le principal, du schaust ensuite trop gegebener Zeit wieder ici vorbei

@iF:
pourquoi dois du mon Propositions toujours so verdrehen?
je wäre déjà avec einem erweiterten RePaint zufrieden.
ou bien avec einer Possibilité - comment déjà mehrfach vorgeschlagen - qui SubClassProc chez besoin comme reguläre WindowProc einzusetzten, qui indépendant de Wartebefehlen arbeitet. et wenn's aussi sur eigene péril ist

Wobei je oui sowieso qui attitude suis, une "fest verdrahtete" Proc wäre pas cela Gelbe vom ouf

SeeYou
Pascal
 
16.12.2010  
 



Sorry, voulais rien verdrehen - était mir des Verdrehens pas bewusst. ^ ^
 
16.12.2010  
 



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

4.054 Views

Untitledvor 0 min.
Rolf-Günther Kuhn19.12.2021
Sven Bader11.07.2021
Ernst30.04.2016
GDL02.09.2015
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