Bonjour,
Je commence tout juste à utiliser AutoIt et j'essaye, pour m'entraîner, d'afficher un texte simple (Plain text) à l'écran en permanence
(j'aimerais de préférence pouvoir changer la size et la position du texte).
Merci d'avance
Afficher du texte à l'écran en permanence.
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
Afficher du texte à l'écran en permanence.
"L'enfer est vide, tous les démons sont ici."
- W. Shakespeare
- W. Shakespeare
- walkson
- Modérateur
- Messages : 1020
- Enregistré le : ven. 12 août 2011 19:49
- Localisation : Hurepoix
- Status : Hors ligne
Re: Afficher du texte à l'écran en permanence.
Bonjour,
Pas très précis comme demande !
Texte à l'écran, sur une Gui, autres ?
Je vous propose du texte sur une Gui en trois solutions: sur un édit simple, sur un RichEdit et sur un label (static) en verticale.
Pour un texte à l'écran (sans support), on peut le faire en GDIplus mais pour débuter, mieux vaut attendre un peu (et c'est pas terrible !)
Pas très précis comme demande !
Texte à l'écran, sur une Gui, autres ?
Je vous propose du texte sur une Gui en trois solutions: sur un édit simple, sur un RichEdit et sur un label (static) en verticale.
Pour un texte à l'écran (sans support), on peut le faire en GDIplus mais pour débuter, mieux vaut attendre un peu (et c'est pas terrible !)
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GuiRichEdit.au3>
#include <WinAPI.au3>
#include <StaticConstants.au3>
$text = " Qui a dit? «Si Dieu existe, j’espère qu’il a une bonne excuse.» Réponse: Woody Allen (1935)." & @CRLF
$text &= "«On n’a jamais vu un aveugle dans un camp de nudistes.» Woody Allen (1935)." & @CRLF
$text &= " Qui a dit? «La durée d’un film devrait être directement liée à la capacité de la vessie humaine» Réponse: Alfred Hitchcock (1899-1980)" & @CRLF
$text &= "«Le succès est un mauvais professeur. Il pousse les gens intelligents à se croire infaillibles» Bill Gates" & @CRLF
$text &= "Avez-vous remarqué comme on est bête, quand on est nombreux. George Sand" & @CRLF
$text &= " Qui a dit? «Quand les dieux veulent nous punir, ils exaucent nos prières.» réponse: Oscar Wilde (1854-1900)." & @CRLF
$text &= " Faites des bêtises, mais faites-les avec enthousiasme. Colette" & @CRLF
$text &= " Qui a dit? «Sous le capitalisme, les gens ont davantage de voitures. Sous le communisme, ils ont davantage de parkings.» Réponse: Winston Churchill (1874-1965)" & @CRLF
$text &= " Qui a dit? «Le patriotisme, c’est aimer son pays. Le nationalisme, c’est détester celui des autres.» Réponse: Charles de Gaulle (1890-1970)" & @CRLF
$text &= " «Les religions sont peu prolixes sur cette question que j’adore: que faisait Dieu avant la création?» Roland Topor (1938-1997)" & @CRLF
#Region ### START Koda GUI section ### Form=
Global $Form1 = GUICreate("", 615, 620)
Global $Edit1 = GUICtrlCreateEdit("", 120, 24, 257, 281, BitOR($ES_WANTRETURN,$WS_VSCROLL,$ES_MULTILINE))
GUICtrlSetData(-1, $text)
GUICtrlSetFont(-1,10,0,2,"Comic Sans MS")
$hRichEdit = _GUICtrlRichEdit_Create($Form1,$text,5,350,605,250,BitOR($ES_WANTRETURN,$WS_VSCROLL,$ES_MULTILINE))
_GUICtrlRichEdit_SetSel($hRichEdit, 1, 250)
_GUICtrlRichEdit_SetCharColor($hRichEdit,0xFF0000)
_GUICtrlRichEdit_SetFont($hRichEdit,15,"Calibri")
Global $Button1 = GUICtrlCreateButton("voir SplashText", 456, 24, 129, 57)
Global $Button2 = GUICtrlCreateButton("cacher SplashText", 456, 93, 129, 57)
$Label1 = GUICtrlCreateLabel("",420,10)
LabelVertical($Label1, "Mon texte est ici ou là", 0x0000FF,Default)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
_GUICtrlRichEdit_Destroy($hRichEdit)
Exit
Case $Button1
SplashTextOn("Title", $text, -1, -1, -1, -1, 4, "", 10)
Case $Button2
SplashOff()
EndSwitch
WEnd
;ID du label, texte, couleur font, couleur arrière plan
Func LabelVertical($Hlabel, $text, $colorFont = Default, $colorBK = Default)
If $text = "" Then Return SetError(1)
$split = StringSplit($text,"")
Local $textN
For $i = 1 To $split[0]
$textN &= $split[$i] & @CRLF
Next
GUICtrlSetStyle($Hlabel, $SS_CENTER)
GUICtrlSetData($Hlabel, $textN)
If $colorFont <> Default Then GUICtrlSetColor($Hlabel, $colorFont)
If $colorBK <> Default Then GUICtrlSetBkColor($Hlabel, $colorBK)
$Label2 = GUICtrlCreateLabel($textN, -100, -100)
$hLabel_Handle = GUICtrlGetHandle($Label2)
$W = _WinAPI_GetClientWidth ( $hLabel_Handle )
$H = _WinAPI_GetClientHeight ( $hLabel_Handle )
GUICtrlDelete($Label2)
GUICtrlSetPos($Hlabel,Default,Default,$W, $H )
ConsoleWrite($W &">"& $H & @CRLF)
EndFunc
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Re: Afficher du texte à l'écran en permanence.
Je voudrai juste un texte qui s'affiche en permanence comme ceci par exemple (créer depuis un logiciel de montage) :walkson a écrit : ↑ven. 30 oct. 2020 22:27 Bonjour,
Pas très précis comme demande !
Texte à l'écran, sur une Gui, autres ?
Je vous propose du texte sur une Gui en trois solutions: sur un édit simple, sur un RichEdit et sur un label (static) en verticale.
Pour un texte à l'écran (sans support), on peut le faire en GDIplus mais pour débuter, mieux vaut attendre un peu (et c'est pas terrible !)Code : Tout sélectionner
#include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <GuiRichEdit.au3> #include <WinAPI.au3> #include <StaticConstants.au3> $text = " Qui a dit? «Si Dieu existe, j’espère qu’il a une bonne excuse.» Réponse: Woody Allen (1935)." & @CRLF $text &= "«On n’a jamais vu un aveugle dans un camp de nudistes.» Woody Allen (1935)." & @CRLF $text &= " Qui a dit? «La durée d’un film devrait être directement liée à la capacité de la vessie humaine» Réponse: Alfred Hitchcock (1899-1980)" & @CRLF $text &= "«Le succès est un mauvais professeur. Il pousse les gens intelligents à se croire infaillibles» Bill Gates" & @CRLF $text &= "Avez-vous remarqué comme on est bête, quand on est nombreux. George Sand" & @CRLF $text &= " Qui a dit? «Quand les dieux veulent nous punir, ils exaucent nos prières.» réponse: Oscar Wilde (1854-1900)." & @CRLF $text &= " Faites des bêtises, mais faites-les avec enthousiasme. Colette" & @CRLF $text &= " Qui a dit? «Sous le capitalisme, les gens ont davantage de voitures. Sous le communisme, ils ont davantage de parkings.» Réponse: Winston Churchill (1874-1965)" & @CRLF $text &= " Qui a dit? «Le patriotisme, c’est aimer son pays. Le nationalisme, c’est détester celui des autres.» Réponse: Charles de Gaulle (1890-1970)" & @CRLF $text &= " «Les religions sont peu prolixes sur cette question que j’adore: que faisait Dieu avant la création?» Roland Topor (1938-1997)" & @CRLF #Region ### START Koda GUI section ### Form= Global $Form1 = GUICreate("", 615, 620) Global $Edit1 = GUICtrlCreateEdit("", 120, 24, 257, 281, BitOR($ES_WANTRETURN,$WS_VSCROLL,$ES_MULTILINE)) GUICtrlSetData(-1, $text) GUICtrlSetFont(-1,10,0,2,"Comic Sans MS") $hRichEdit = _GUICtrlRichEdit_Create($Form1,$text,5,350,605,250,BitOR($ES_WANTRETURN,$WS_VSCROLL,$ES_MULTILINE)) _GUICtrlRichEdit_SetSel($hRichEdit, 1, 250) _GUICtrlRichEdit_SetCharColor($hRichEdit,0xFF0000) _GUICtrlRichEdit_SetFont($hRichEdit,15,"Calibri") Global $Button1 = GUICtrlCreateButton("voir SplashText", 456, 24, 129, 57) Global $Button2 = GUICtrlCreateButton("cacher SplashText", 456, 93, 129, 57) $Label1 = GUICtrlCreateLabel("",420,10) LabelVertical($Label1, "Mon texte est ici ou là", 0x0000FF,Default) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE _GUICtrlRichEdit_Destroy($hRichEdit) Exit Case $Button1 SplashTextOn("Title", $text, -1, -1, -1, -1, 4, "", 10) Case $Button2 SplashOff() EndSwitch WEnd ;ID du label, texte, couleur font, couleur arrière plan Func LabelVertical($Hlabel, $text, $colorFont = Default, $colorBK = Default) If $text = "" Then Return SetError(1) $split = StringSplit($text,"") Local $textN For $i = 1 To $split[0] $textN &= $split[$i] & @CRLF Next GUICtrlSetStyle($Hlabel, $SS_CENTER) GUICtrlSetData($Hlabel, $textN) If $colorFont <> Default Then GUICtrlSetColor($Hlabel, $colorFont) If $colorBK <> Default Then GUICtrlSetBkColor($Hlabel, $colorBK) $Label2 = GUICtrlCreateLabel($textN, -100, -100) $hLabel_Handle = GUICtrlGetHandle($Label2) $W = _WinAPI_GetClientWidth ( $hLabel_Handle ) $H = _WinAPI_GetClientHeight ( $hLabel_Handle ) GUICtrlDelete($Label2) GUICtrlSetPos($Hlabel,Default,Default,$W, $H ) ConsoleWrite($W &">"& $H & @CRLF) EndFunc
Imaginez que l'image soit animé et que c'est le joueur qui fait bouger l'image. J'aimerais que le texte reste comme ceci sans bouger (je ne suis pas sûr d'avoir était très clair )
"L'enfer est vide, tous les démons sont ici."
- W. Shakespeare
- W. Shakespeare
- walkson
- Modérateur
- Messages : 1020
- Enregistré le : ven. 12 août 2011 19:49
- Localisation : Hurepoix
- Status : Hors ligne
Re: Afficher du texte à l'écran en permanence.
Bonjour,
à tout hasard, je vous propose ce code. flèche droite, la gui va vers la droite, flèche gauche l'inverse, Echap pour fermer
Ben nonje ne suis pas sûr d'avoir était très clair
à tout hasard, je vous propose ce code. flèche droite, la gui va vers la droite, flèche gauche l'inverse, Echap pour fermer
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Global $Form1 = GUICreate("Form1", 395, 278,-1,-1, $WS_POPUP)
Global $Pic1 = GUICtrlCreatePic(@ProgramFilesDir & "\AutoIt3\Examples\GUI\msoobe.jpg", 0, 0, 395, 278)
Global $Label1 = GUICtrlCreateLabel("Hello word", 24, 220, 200, 41)
GUICtrlSetFont(-1, 20, 700, 0, "Georgia")
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetState(-1,$GUI_ONTOP)
GUISetState(@SW_SHOW)
HotKeySet ( "{RIGHT}" ,"droite" )
HotKeySet ( "{LEFT}" ,"gauche" )
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func droite()
$pos = WinGetPos($Form1)
WinMove($Form1,"",$pos[0] + 10,$pos[1])
EndFunc
Func gauche()
$pos = WinGetPos($Form1)
WinMove($Form1,"",$pos[0] - 10,$pos[1])
EndFunc
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
- Tlem
- Site Admin
- Messages : 11773
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: Afficher du texte à l'écran en permanence.
Bonsoir.
Je pense que ce code devrait être plus proche de ce qui est demandé.
Bien que dans l'exemple le texte bouge (pour le fun), vous devriez pouvoir l'adapter facilement à votre besoin.
Je pense que ce code devrait être plus proche de ce qui est demandé.
Bien que dans l'exemple le texte bouge (pour le fun), vous devriez pouvoir l'adapter facilement à votre besoin.
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".