Forum | | | | Erasmus.Herold | Hallöchen ...
je benutzte folgenden Ansatz, um Schriftart et Taille trop bestimmen.
hFont& = create("Font", Arial,14,0,0,0,0)
setdialogfont hFont&
create("text", fenster_darueber%, "Hallöchen ...", 115, 310, 150, 18)
comment peux je qui Textfarbe sur une de mir gewählten RGB Wert mettons? malheureusement keinen passenden Ansatz trouvé.
Salut Erasmus |
| | | | |
| | Georg Teles | allô, exposition la fois dans qui Aider
'-Begin-----------------------------------------------------------------
'-HeaderFiles---------------------------------------------------------
$H Windows.ph
$H Messages.ph
'-Variables Declaration-----------------------------------------------
Déclarer Ende%, OldWndProc&, hButton%
Déclarer hText1%, TextBk1&, hText2%, TextBk2&, hText3%, TextBk3&
'-CallBack Routine----------------------------------------------------
Proc ColorText
Paramètres hWnd&, Message&, wParam&, lParam&
Si Message& = ~WM_CTLCOLORSTATIC
'-Fuer Text1 la couleur mettons---------------------------------------
Si lParam& = hText1%
~SetBkMode(wParam&, ~TRANSPARENT)
~SetTextColor(wParam&, @RGB($FF, $00, $00))'-rouge-----------
Retour TextBk1&
'-Fuer Text2 la couleur mettons---------------------------------------
ElseIf lParam& = hText2%
~SetBkMode(wParam&, ~TRANSPARENT)
~SetTextColor(wParam&, @RGB($00, $00, $FF))'-bleu----------
Retour TextBk2&
'-Fuer Text3 la couleur mettons---------------------------------------
ElseIf lParam& = hText3%
~SetBkMode(wParam&, ~TRANSPARENT)
~SetTextColor(wParam&, @RGB($00, $FF, $00))'-Gruen---------
Retour TextBk3&
EndIf
D'autre
Retour ~CallWindowProc(OldWndProc&, hWnd&, Message&, \
wParam&, lParam&)
EndIf
ENDPROC
'-Main----------------------------------------------------------------
'-Hintergrundfarben festlegen---------------------------------------
TextBk1& = ~CreateSolidBrush(@RGB($00, $FF, $FF))'-Cyan----------
TextBk2& = ~CreateSolidBrush(@RGB($FF, $FF, $00))'-jaune----------
TextBk3& = ~CreateSolidBrush(@RGB($FF, $00, $FF))'-Magenta-------
'-Erweitertes MessageHandling débrancher----------------------------
Set("Fastmode", 1)
'-la fenêtre oeffnen---------------------------------------------------
Fenêtre 0, 0 - 640, 480
'-ProgramMainRoutine avec CallBack détourner sur eigene---------------
OldWndProc& = ~GetWindowLong(%hWnd, ~GWL_WNDPROC)
~SetWindowLong(%hWnd, ~GWL_WNDPROC, @ProcAddr("ColorText", 4))
'-GUI aufbauen------------------------------------------------------
hButton% = @Créer("Button", %hWnd, "Ende", 10, 10, 100, 24)
'-Textfelder------------------------------------------------------
hText1% = @Créer("Text", %hWnd, " Farbiger Text1", 10, 50, \
110, 18)
hText2% = @Créer("Text", %hWnd, " Farbiger Text2", 10, 70, \
110, 18)
hText3% = @Créer("Text", %hWnd, " Farbiger Text3", 10, 90, \
110, 18)
'-Dialog-Boucle---------------------------------------------------
Claire Ende%
WhileNot Ende%
WaitInput
Si %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&)
'-Fin-------------------------------------------------------------------
Fin
Alternativ peux Du qui SKControl.dll de Sebastian benutzen
Grüße |
| | | | |
| | p.specht
| je suis évident trop simple gestrickt: Pourquoi pas simple UseFont et Couleur du texte? |
| | | XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 21.08.2019 ▲ |
| |
| | Erasmus.Herold | @Georg - so un Monster seulement pour la couleur? |
| | | | |
| | Georg Teles | Nunja, Windows pouvoir cela simple so ici qui kürzere variante
$H Windows.ph
$H Messages.ph
Déclarer Ende%, OldWndProc&, Text1&, Text2&, Text3&, BG&
Proc ColorText
Paramètres hWnd&, Message&, wParam&, lParam&
Si Message& = ~WM_CTLCOLORSTATIC
Si (lParam& = Text1&) | (lParam& = Text2&) | (lParam& = Text3&)
'Statt SetBKMode + Retour peux folgende la ligne alternativ verwendet volonté
'~SetBkColor(wParam&, RGB($00, $00, $00))
~SetBkMode(wParam&, ~TRANSPARENT)
~SetTextColor(wParam&, RGB($FF, $00, $00))
Retour BG&'pour Hintergrundfarbe
'Retour 0 'pour Transparenz
EndIf
D'autre
Retour ~CallWindowProc(OldWndProc&, hWnd&, Message&, wParam&, lParam&)
EndIf
ENDPROC
' Hintergrundfarbe = vert
BG& = ~CreateSolidBrush(RGB($00,$FF,$00))
Set("Fastmode", 1)
Fenêtre 0, 0 - 640, 480
OldWndProc& = ~GetWindowLong(%hWnd, ~GWL_WNDPROC)
~SetWindowLong(%hWnd, ~GWL_WNDPROC, @ProcAddr("ColorText", 4))
Text1& = @Créer("Text", %hWnd, " Farbiger Text1", 10, 50, 110, 18)
Text2& = @Créer("Text", %hWnd, " Farbiger Text2", 10, 70, 110, 18)
Text3& = @Créer("Text", %hWnd, " Farbiger Text3", 10, 90, 110, 18)
Claire Ende%
WhileNot Ende%
WaitInput
Si %Key = 2
Ende% = 1
EndIf
Endwhile
~DeleteObject(BG&)
~SetWindowLong(%hWnd, ~GWL_WNDPROC, OldWndProc&)
Fin
Grüße |
| | | | |
| | p.specht
| Hallöchen ...
je benutze folgenden Ansatz, um Schriftart et Taille trop bestimmen:
Cls
UseFont "ARIAL",14,8,0,0,0
Couleur du texte Rgb(255,0,0),Rgb(100,255,100)
DrawText 10,100," Farbiger Text1 "
Couleur du texte Rgb(0,0,255),Rgb(100,255,255)
DrawText 10,120," Farbiger Text2 "
Couleur du texte Rgb(0,25,0),Rgb(250,0,250)
DrawText 10,140," Farbiger Text3 "
WaitInput
Um qui la couleur im Nachhinein trop changement, schreibe je drüber. naïf, klappt mais. |
| | | Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 21.10.2020 ▲ |
| |
|
répondreOptions du sujet | 5.505 Views |
Themeninformationencet Thema hat 3 participant: |