Español
Foro

Farbe de Fenstern (o. Dialogen) ändern

Vielen Dank para Eure Ayuda!

 

Torben
Nissen


Beim SubClassing es sólo el problema, dass el Texto entonces otra vez una beigen Hintergrund (Windows XP) ha - siehe Grafik.
Gibt lo como una Möglichkeit el "Textproblem" hinzubekommen?

El XFrame.dll sieht muy vielversprechend de. El voluntad Yo veces genauer ansehen...

Vielen Dank para Eure Tipps!
Tal vez ha alguien sí ni Concepto, como el Hintergrund vom Texto beim SubClassing unverändert restos?

4 kB
Hochgeladen:30.01.2013
Ladeanzahl0
Descargar
 
30.01.2013  
 



Bleibt sólo el Texto auch subclassen -

como lautet el Message WM_CTLCOLORSTATIC -

y luego SetBkMode( wParam , TRANSPARENT )
 
30.01.2013  
 




ByteAttack
Schau veces [...] 
 
30.01.2013  
 




Torben
Nissen
Vielen Dank! Es auch super! Yo muss mich veces mehr con dll's beschäftigen... !
 
31.01.2013  
 




Julian
Schmidt
Como Yo finde el einfachste Solución Es el FaControl.dll de Frank Abbing. [...] 
 
XProfan X2
Win7 Professional, SP1, AMD FX(tm)-8350 Eight-Core Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
31.01.2013  
 




Torben
Nissen
¡Hola,
heute Yo (endlich) otra vez Tiempo, en a programa. Dabei beschäftige Yo mich siempre todavía con el Gestaltung de los Fenstern. Trotz el tollen dll's möchte Yo incluso con SubClassing probieren. Anhand des Beispiels de Andreas Miethe y Hilfedatei, bekomme Yo hin, el Color de fondo nun a ändern.
IF war así nett y ha me el Referencia gegeben, dass uno el Texto auch subclassen muss, si la beige Hintergrund no durchscheinen se. Yo habe sin embargo todavía no el Sache con "SetBkMode( wParam , TRANSPARENT )" verstanden. In el Ayuda finde Yo a "wParam":

&sWParam: Der WParam-Valor el Message.

Como setzte Yo "SetBKMode" y "wParam, Transparent" en? (SendMessage?)
 
02.02.2013  
 




Jörg
Sellmeyer
Grundsätzlich funktioniert lo así:
KompilierenMarcaSeparación
 $H windows.ph
Cls
Var Ctrl& = Create("Text",%hwnd,"",100,100,200,24)
WaitInput
~SetBkMode(Ctrl&,~TRANSPARENT)
WaitInpu

Was genau du como ahora beim Subclassing hacer musst weiß Yo aber en el Moment auch no.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
02.02.2013  
 



Imho simplemente WM_CTLCOLORSTATIC Nachricht en wProc y luego el bkmode en hdc == wparam.
 
02.02.2013  
 




Andreas
Miethe


Hier veces una kleines Ejemplo.



Yo hoffe es ausreichend kommentiert.
KompilierenMarcaSeparación
'######################
'Header-Dateien
'######################
 $H Windows.ph
 $H Messages.ph
'######################
Set("FastMode",1)'FastMode einschalten
Windowstyle 543
WindowTitle "Test"
window 480,140
cls $993333
UseIcon "A"
Declare Ende&,TextControl&,EditControl&
Declare BackGroundBrush&
SetStyle %hWnd,1,(GetStyle(%hWnd,1) | ~WS_CLIPCHILDREN)'verhindert das Flackern der Conrrols
SubClass %HWnd,1
TextControl& = Create("TEXT",%hwnd,"Farbiger Text",10,10,120,24)
EditControl& = Create("EDIT",%hwnd,"Edit mit Farbverlauf",10,40,400,24)
'einen Farbverlauf für den Hintergrund des Edit-Controls
BackGroundBrush& = CreateGradientBrush(EditControl&)

Whilenot Ende&

    Waitinput

Endwhile

~DeleteObject(BackGroundBrush&)
End

SubClassProc

    If SubClassMessage(&sWnd,~WM_CLOSE)

        Ende& = 1
        Set("WinProc", 1)

    ElseIf SubClassMessage(&sWnd,~WM_CTLCOLOREDIT)'Edit-Controls

        Set("WinProc", 0)
        'SetBkMode setzt den Hintegrund-Modus des gewählten Device-Contextes (HDC)
        ~SetBkMode(&swparam,~Transparent)
        'SetTextColor setzt die Textfarbe des Device-Contextes (HDC)
        ~SetTextColor(&swparam,$00FFFF)
        Return BackGroundbrush&'Rückgabe ist der Brush

    ElseIf SubClassMessage(&sWnd,~WM_CTLCOLORSTATIC)'Static-Controls

        Set("WinProc", 0)
        'SetBkMode setzt den Hintegrund-Modus des gewählten Device-Contextes (HDC)
        ~SetBkMode(&swparam,~Transparent)'&swparam ist der Device-Context des Controls
        'SetTextColor setzt die Textfarbe des Device-Contextes (HDC)
        ~SetTextColor(&swparam,$0099FF)
        Return ~GetStockObject(~NULL_BRUSH)'Rückgabe ist der Brush

    EndIf

EndProc

Proc GradientRect

    Parameters DC&,x%,y%,w%,h%,Color1&,Color2&,HV&
    Declare GradRect#,Trivertex#
    Dim GradRect#,8
    Dim Trivertex#,32
    Long Gradrect#,0 = 0,1
    Long Trivertex#,0=x%,y%
    word Trivertex#,8=GETRVALUE(Color1&) << 8,GETGVALUE(Color1&) << 8,GETBVALUE(Color1&) << 8,0
    Long Trivertex#,16=w%,h%
    word Trivertex#,24=GETRVALUE(Color2&) << 8,GETGVALUE(Color2&) << 8,GETBVALUE(Color2&) << 8,0
    External("Msimg32.dll","GradientFill",DC&,Trivertex#,2,Gradrect#,HV&,0)
    Dispose Trivertex#
    Dispose Gradrect#

EndProc

Proc CreateGradientBrush

    Parameters tControl&
    Var Result& = 0
    Var BMP& = Create("hNewPic", Width(tControl&),1,0)
    StartPaint BMP&
    GradientRect(%hdc,0,0,Width(tControl&),1,$404000,$CAFFCA,1)
    EndPaint
    Result& = ~CreatePatternBrush(BMP&)
    ~DeleteObject(BMP&)
    Return<
sult& ENDPROC

4 kB
Hochgeladen:02.02.2013
Ladeanzahl158
Descargar
 
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.02.2013  
 




Torben
Nissen
Vielen Dank, Andreas! Damit voluntad Yo ahora primero trabajo puede!

... Yo habe lo geschafft! Das Ejemplo de Andreas es super! Gracias!!!
 
02.02.2013  
 



Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

9.495 Views

Untitledvor 0 min.
Erasmus.Herold19.11.2018
Alibre06.01.2018
Wilfried28.05.2016
Torben Nissen04.08.2014
Más...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie