Foro | | | | Erasmus.Herold | Hallöchen ...
Yo benutzte folgenden Ansatz, en Schriftart y Größe a bestimmen.
hFont& = create("Font", Arial,14,0,0,0,0)
setdialogfont hFont&
create("text", fenster_darueber%, "Hallöchen ...", 115, 310, 150, 18)
¿Cómo se puede Yo el Textfarbe en una de me gewählten RGB Valor conjunto? Leider no passenden Ansatz gefunden.
Saludo Erasmus |
| | | | |
| | Georg Teles | ¡Hola, schau mal en el Ayuda
'-Begin-----------------------------------------------------------------
'-HeaderFiles---------------------------------------------------------
$H Windows.ph
$H Messages.ph
'-Variables Declaration-----------------------------------------------
Declarar Ende%, OldWndProc&, hButton%
Declarar hText1%, TextBk1&, hText2%, TextBk2&, hText3%, TextBk3&
'-CallBack Rutina----------------------------------------------------
Proc ColorText
Parámetros hWnd&, Message&, wParam&, lParam&
If Message& = ~WM_CTLCOLORSTATIC
'-Fuer Texto1 Farbe conjunto---------------------------------------
If lParam& = hText1%
~SetBkMode(wParam&, ~TRANSPARENT)
~SetTextColor(wParam&, @RGB($FF, $00, $00))'-Rot-----------
Volver TextBk1&
'-Fuer Texto2 Farbe conjunto---------------------------------------
ElseIf lParam& = hText2%
~SetBkMode(wParam&, ~TRANSPARENT)
~SetTextColor(wParam&, @RGB($00, $00, $FF))'-Blau----------
Volver TextBk2&
'-Fuer Texto3 Farbe conjunto---------------------------------------
ElseIf lParam& = hText3%
~SetBkMode(wParam&, ~TRANSPARENT)
~SetTextColor(wParam&, @RGB($00, $FF, $00))'-Gruen---------
Volver TextBk3&
EndIf
Más
Volver ~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----------------------------
Conjunto("FastMode", 1)
'-Ventana oeffnen---------------------------------------------------
Ventana 0, 0 - 640, 480
'-ProgramMainRoutine con CallBack umleiten en propio---------------
OldWndProc& = ~GetWindowLong(%hWnd, ~GWL_WNDPROC)
~SetWindowLong(%hWnd, ~GWL_WNDPROC, @ProcAddr("ColorText", 4))
'-GUI aufbauen------------------------------------------------------
hButton% = @Crear("Button", %hWnd, "Ende", 10, 10, 100, 24)
'-Textfelder------------------------------------------------------
hText1% = @Crear("Text", %hWnd, " Farbiger Texto1", 10, 50, \
110, 18)
hText2% = @Crear("Text", %hWnd, " Farbiger Texto2", 10, 70, \
110, 18)
hText3% = @Crear("Text", %hWnd, " Farbiger Texto3", 10, 90, \
110, 18)
'-Diálogo-Bucle---------------------------------------------------
Claro Ende%
Sinestar encargado Ende%
WaitInput
If %Key = 2
Ende% = 1
ElseIf @Clicked(hButton%)
Ende% = 1
EndIf
EndWhile
'-Fuellmuster liberación---------------------------------------------
~DeleteObject(TextBk1&)
~DeleteObject(TextBk2&)
~DeleteObject(TextBk3&)
'-Urspruengliche ProgramMainRoutine otra vez herstellen---------------
~SetWindowLong(%hWnd, ~GWL_WNDPROC, OldWndProc&)
'-End-------------------------------------------------------------------
End
Alternativ kannst Usted el SKControl.dll de Sebastian benutzen
Grüße |
| | | | |
| | p.specht
| Yo bin offenbar a simplemente gestrickt: ¿Por qué no simplemente UseFont y Color del texto? |
| | | XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 21.08.2019 ▲ |
| |
| | Erasmus.Herold | @Georg - así una Monster sólo para Farbe? |
| | | | |
| | Georg Teles | Nunja, Windows macht lo simple así hier el kürzere Variante
$H Windows.ph
$H Messages.ph
Declarar Ende%, OldWndProc&, Texto1&, Texto2&, Texto3&, BG&
Proc ColorText
Parámetros hWnd&, Message&, wParam&, lParam&
If Message& = ~WM_CTLCOLORSTATIC
If (lParam& = Texto1&) | (lParam& = Texto2&) | (lParam& = Texto3&)
'Statt SetBKMode + Volver kann folgende Línea alternativ verwendet voluntad
'~SetBkColor(wParam&, RGB($00, $00, $00))
~SetBkMode(wParam&, ~TRANSPARENT)
~SetTextColor(wParam&, RGB($FF, $00, $00))
Volver BG&'para Color de fondo
'Volver 0 'para Transparenz
EndIf
Más
Volver ~CallWindowProc(OldWndProc&, hWnd&, Message&, wParam&, lParam&)
EndIf
ENDPROC
' Color de fondo = Grün
BG& = ~CreateSolidBrush(RGB($00,$FF,$00))
Conjunto("FastMode", 1)
Ventana 0, 0 - 640, 480
OldWndProc& = ~GetWindowLong(%hWnd, ~GWL_WNDPROC)
~SetWindowLong(%hWnd, ~GWL_WNDPROC, @ProcAddr("ColorText", 4))
Text1& = @Crear("Text", %hWnd, " Farbiger Texto1", 10, 50, 110, 18)
Text2& = @Crear("Text", %hWnd, " Farbiger Texto2", 10, 70, 110, 18)
Text3& = @Crear("Text", %hWnd, " Farbiger Texto3", 10, 90, 110, 18)
Claro Ende%
Sinestar encargado Ende%
WaitInput
If %Key = 2
Ende% = 1
EndIf
EndWhile
~DeleteObject(BG&)
~SetWindowLong(%hWnd, ~GWL_WNDPROC, OldWndProc&)
End
Grüße |
| | | | |
| | p.specht
| Hallöchen ...
Yo benutze folgenden Ansatz, en Schriftart y Größe a bestimmen:
Cls
UseFont "ARIAL",14,8,0,0,0
Color del texto Rgb(255,0,0),Rgb(100,255,100)
DrawText 10,100," Farbiger Texto1 "
Color del texto Rgb(0,0,255),Rgb(100,255,255)
DrawText 10,120," Farbiger Texto2 "
Color del texto Rgb(0,25,0),Rgb(250,0,250)
DrawText 10,140," Farbiger Texto3 "
WaitInput
Um el Farbe en el Nachhinein a ändern, escribir Yo 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 ▲ |
| |
|
RespuestaThemeninformationenDieses Thema ha 3 subscriber: |