Italia
Foro

Create Text in anderen Farben

 

Erasmus.Herold
Hallöchen ...

Ich benutzte folgenden Ansatz, um Schriftart und Dimensione zu bestimmen.
hFont& = create("Font", "Arial",14,0,0,0,0)
setdialogfont hFont&
create("text", fenster_darueber%, "Hallöchen ...", 115, 310, 150, 18)

Wie kann ich die Textfarbe auf einen von mir gewählten RGB Wert setzen?
Leider keinen passenden Ansatz gefunden.

Saluto
Erasmus
 
21.08.2019  
 




Georg
Teles
Hallo, schau mal in der Aiuto
'-Begin-----------------------------------------------------------------
'-HeaderFiles---------------------------------------------------------
 $H Windows.ph
 $H Messages.ph
'-Variables Declaration-----------------------------------------------
Declare Ende%, OldWndProc&, hButton%
Declare hText1%, TextBk1&, hText2%, TextBk2&, hText3%, TextBk3&
'-CallBack Routine----------------------------------------------------

Proc ColorText

    Parameters hWnd&, Message&, wParam&, lParam&

    If Message& = ~WM_CTLCOLORSTATIC

        '-Fuer Text1 Farbe setzen---------------------------------------

        If lParam& = hText1%

            ~SetBkMode(wParam&, ~TRANSPARENT)
            ~SetTextColor(wParam&, @RGB($FF, $00, $00))'-Rot-----------
            Return TextBk1&
            '-Fuer Text2 Farbe setzen---------------------------------------

        ElseIf lParam& = hText2%

            ~SetBkMode(wParam&, ~TRANSPARENT)
            ~SetTextColor(wParam&, @RGB($00, $00, $FF))'-Blau----------
            Return TextBk2&
            '-Fuer Text3 Farbe setzen---------------------------------------

        ElseIf lParam& = hText3%

            ~SetBkMode(wParam&, ~TRANSPARENT)
            ~SetTextColor(wParam&, @RGB($00, $FF, $00))'-Gruen---------
            Return TextBk3&

        EndIf

    Else

        Return ~CallWindowProc(OldWndProc&, hWnd&, Message&, \
        wParam&, lParam&)

    EndIf

EndProc

'-Main----------------------------------------------------------------
'-Hintergrundfarben festlegen---------------------------------------
TextBk1& = ~CreateSolidBrush(@RGB($00, $FF, $FF))'-Cyan----------
TextBk2& = ~CreateSolidBrush(@RGB($FF, $FF, $00))'-Gelb----------
TextBk3& = ~CreateSolidBrush(@RGB($FF, $00, $FF))'-Magenta-------
'-Erweitertes MessageHandling abschalten----------------------------
Set("FastMode", 1)
'-Fenster oeffnen---------------------------------------------------
Window 0, 0 - 640, 480
'-ProgramMainRoutine mit CallBack umleiten auf eigene---------------
OldWndProc& = ~GetWindowLong(%hWnd, ~GWL_WNDPROC)
~SetWindowLong(%hWnd, ~GWL_WNDPROC, @ProcAddr("ColorText", 4))
'-GUI aufbauen------------------------------------------------------
hButton% = @Create("Button", %hWnd, "Ende", 10, 10, 100, 24)
'-Textfelder------------------------------------------------------
hText1% = @Create("Text", %hWnd, " Farbiger Text1", 10, 50, \
110, 18)
hText2% = @Create("Text", %hWnd, " Farbiger Text2", 10, 70, \
110, 18)
hText3% = @Create("Text", %hWnd, " Farbiger Text3", 10, 90, \
110, 18)
'-Dialog-Schleife---------------------------------------------------
Clear Ende%

WhileNot Ende%

    WaitInput

    If %Key = 2

        Ende% = 1

    ElseIf @Clicked(hButton%)

        Ende% = 1

    EndIf

EndWhile

'-Fuellmuster freigeben---------------------------------------------
~DeleteObject(TextBk1&)
~DeleteObject(TextBk2&)
~DeleteObject(TextBk3&)
'-Urspruengliche ProgramMainRoutine wieder herstellen---------------
~SetWindowLong(%hWnd, ~GWL_WNDPROC, OldWndProc&)
'-End-------------------------------------------------------------------
End

Alternativ kannst Du die SKControl.dll von Sebastian benutzen

Grüße
 
XProfan X2
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

21.08.2019  
 




p.specht

Ich bin offenbar zu einfach gestrickt:
Wieso nicht einfach UseFont und TextColor?
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
21.08.2019  
 




Erasmus.Herold
@Georg - so ein Monster nur per Farbe?
 
21.08.2019  
 




Georg
Teles
Nunja, Windows macht das einfach so hier die kürzere Variante
 $H Windows.ph
 $H Messages.ph
Declare Ende%, OldWndProc&, Text1&, Text2&, Text3&, BG&

Proc ColorText

    Parameters hWnd&, Message&, wParam&, lParam&

    If Message& = ~WM_CTLCOLORSTATIC

        If (lParam& = Text1&) | (lParam& = Text2&) | (lParam& = Text3&)

            'Statt SetBKMode + Return kann folgende Zeile alternativ verwendet werden
            '~SetBkColor(wParam&, RGB($00, $00, $00))
            ~SetBkMode(wParam&, ~TRANSPARENT)
            ~SetTextColor(wParam&, RGB($FF, $00, $00))
            Return BG&'per Hintergrundfarbe
            'Return 0 'per Transparenz

        EndIf

    Else

        Return ~CallWindowProc(OldWndProc&, hWnd&, Message&, wParam&, lParam&)

    EndIf

EndProc

' Hintergrundfarbe = Grün
BG& = ~CreateSolidBrush(RGB($00,$FF,$00))
Set("FastMode", 1)
Window 0, 0 - 640, 480
OldWndProc& = ~GetWindowLong(%hWnd, ~GWL_WNDPROC)
~SetWindowLong(%hWnd, ~GWL_WNDPROC, @ProcAddr("ColorText", 4))
Text1& = @Create("Text", %hWnd, " Farbiger Text1", 10, 50, 110, 18)
Text2& = @Create("Text", %hWnd, " Farbiger Text2", 10, 70, 110, 18)
Text3& = @Create("Text", %hWnd, " Farbiger Text3", 10, 90, 110, 18)
Clear Ende%

WhileNot Ende%

    WaitInput

    If %Key = 2

        Ende% = 1

    EndIf

EndWhile

~DeleteObject(BG&)
~SetWindowLong(%hWnd, ~GWL_WNDPROC, OldWndProc&)
End

Grüße
 
XProfan X2
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

21.08.2019  
 




p.specht

Hallöchen ...

Ich benutze folgenden Ansatz, um Schriftart und Dimensione zu bestimmen:
Cls
UseFont "ARIAL",14,8,0,0,0
TextColor Rgb(255,0,0),Rgb(100,255,100)
DrawText 10,100," Farbiger Text1 "
TextColor Rgb(0,0,255),Rgb(100,255,255)
DrawText 10,120," Farbiger Text2 "
TextColor Rgb(0,25,0),Rgb(250,0,250)
DrawText 10,140," Farbiger Text3 "
WaitInput

Um die Farbe im Nachhinein zu ändern, schreibe ich drüber. Naiv, klappt aber.
 
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
21.10.2020  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

5.490 Views

Untitledvor 0 min.
Sven Bader22.11.2023
Hans Neff19.01.2023
H.Brill22.11.2022
Rc31.01.2022
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie