Accueil > Forum > > > > code mot clignotant
code mot clignotant
lundi 15 mars 2010 à 21:03:48 |
code mot clignotant

sisi06
|
Bonjour,
je voudrais S.V.P un code en language C (C++) qui me permet d'avoir le mot "WELCOME" en mode clignotant en divers couleurs
merci pour votre aide
|
|
lundi 15 mars 2010 à 21:21:48 |
Re : code mot clignotant

BruNews
|
- Quel OS ?
- Quel composant d'affichage ?
ciao...
BruNews, MVP VC++
|
|
lundi 15 mars 2010 à 21:56:04 |
Re : code mot clignotant

sisi06
|
- vista
- c'est quoi composant d'affichage??
|
|
lundi 15 mars 2010 à 22:32:27 |
Re : code mot clignotant

BruNews
|
EDIT
STATIC
LISTBOX
etc, etc.
ciao...
BruNews, MVP VC++
|
|
lundi 15 mars 2010 à 22:40:47 |
Re : code mot clignotant

sisi06
|
je ne sais pas  je suis debutante et je ne connais pas trop ces trucs
je veux seulement afficher le mot WELCOME lors de l'execution de programme qui clignote avec des couleurs
|
|
dimanche 21 mars 2010 à 15:43:44 |
Re : code mot clignotant

rt15
|
Salut,
Couleur -> SetTextColor/SetBkColor dans WM_CTLCOLORSTATIC.
Clignotement -> SetTimer + SetWindowText
Taille -> CreateFontIndirect
Toutes ces fonctions sont documentées dans la msdn.
Appli GUI en C sans MFC:
Code C/C++ : #ifdef UNICODE
#define _T(x) L ## x
typedef unsigned short TCHAR;
#else
#define _T(x) x
typedef char TCHAR;
#endif
#include <windows.h>
HINSTANCE _hThisInstance; /* Handle du module */
HWND _hWnd; /* Handle de la fenêtre */
HWND _hStatic; /* Handle sur le static */
LPTSTR _lpAppName = _T("WELCOME"); /* Nom de l'appli */
BOOL _bDisplayed = TRUE; /* Pour alterner l'affichage */
HFONT _hMainFont = NULL; /* Police de base */
HBRUSH _hMainBrush = NULL; /* Brush de la couleur de la fenêtre */
WORD __stdcall Err_ShowLast(TCHAR* lpTitle)
{
DWORD nLastError;
LPTSTR lpMessageBuffer;
nLastError = GetLastError();
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
NULL, nLastError, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(TCHAR*)(void*)&lpMessageBuffer, 0, NULL);
MessageBox(NULL, lpMessageBuffer, lpTitle, MB_OK | MB_ICONERROR);
LocalFree(lpMessageBuffer);
return 1;
}
LRESULT CALLBACK WindowProcedure(HWND hWnd, UINT nMessage, WPARAM wParam, LPARAM lParam)
{
int bHandled; /* Pour savoir si le message est traité */
long nResult;
nResult = 0;
bHandled = 0;
switch (nMessage)
{
case WM_CTLCOLORSTATIC:
if ((HWND)lParam == _hStatic)
{
SetTextColor((HDC)wParam, RGB(255, 0, 0));
SetBkColor((HDC)wParam, GetSysColor(COLOR_BTNFACE));
nResult = (long)_hMainBrush;
bHandled = 1;
}
break;
case WM_DESTROY:
/* On signale que le thread va s'arrêter */
PostQuitMessage(0);
bHandled = 1;
break;
}
if (! bHandled)
nResult = DefWindowProc(hWnd, nMessage, wParam, lParam);
return nResult;
}
HFONT __stdcall GetStaticFont()
{
NONCLIENTMETRICS metrics; /* Récupération des métriques */
HFONT hResult;
hResult = NULL;
metrics.cbSize = sizeof(NONCLIENTMETRICS);
if (! SystemParametersInfo(SPI_GETNONCLIENTMETRICS,
sizeof(NONCLIENTMETRICS), &metrics, 0))
goto the_end;
metrics.lfCaptionFont.lfHeight = 80;
metrics.lfCaptionFont.lfWeight = FW_BOLD;
hResult = CreateFontIndirect(&metrics.lfCaptionFont);
the_end:
return hResult;
}
HWND __stdcall CreateMyStatic()
{
HWND hResult;
hResult = CreateWindowEx(0, _T("STATIC"), _T("WELCOME"),
WS_VISIBLE | WS_CHILD,
10, 10, 450, 100,
_hWnd, NULL, _hThisInstance, NULL);
if (! hResult) goto the_end;
SendMessage(hResult, WM_SETFONT, (long)_hMainFont, 0);
the_end:
return hResult;
}
BOOL __stdcall CreateMyWindow()
{
WNDCLASSEX wincl; /* Classe de la fenêtre utilisée */
int nResult;
nResult = 0;
/* Création de la classe de fenêtre */
wincl.cbSize = sizeof(WNDCLASSEX);
wincl.style = 0;
wincl.lpfnWndProc = WindowProcedure;
wincl.cbClsExtra = 0;
wincl.cbWndExtra = 0;
wincl.hInstance = _hThisInstance;
wincl.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wincl.hCursor = LoadCursor(NULL, IDC_ARROW);
wincl.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1);
wincl.lpszMenuName = 0;
wincl.lpszClassName = _lpAppName;
wincl.hIconSm = NULL;
/* Enregistrement de la classe */
if (! RegisterClassEx(&wincl)) goto the_end;
/* Création de la fenêtre */
_hWnd = CreateWindowEx(0, _lpAppName, _lpAppName,
WS_OVERLAPPED | WS_SYSMENU,
CW_USEDEFAULT, CW_USEDEFAULT, 500, 200,
HWND_DESKTOP, NULL, _hThisInstance, NULL);
if (! _hWnd) goto the_end;
_hStatic = CreateMyStatic();
if (! _hStatic) goto the_end;
/* Affichage de la fenêtre */
ShowWindow (_hWnd, SW_SHOW);
nResult = 1;
the_end:
return nResult;
}
VOID CALLBACK TimerCallback(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime)
{
if (_bDisplayed)
SetWindowText(_hStatic, _T(""));
else
SetWindowText(_hStatic, _T("WELCOME"));
_bDisplayed = ! _bDisplayed;
}
/**
* Main
*/
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
MSG message; /* Messages envoyés à l'application */
UINT nTimer; /* Identifiant du timer */
int nResult;
/* Récupération du handle du module */
_hThisInstance = hInstance;
_hMainFont = GetStaticFont();
_hMainBrush = CreateSolidBrush(GetSysColor(COLOR_BTNFACE));
if (! CreateMyWindow())
{
nResult = Err_ShowLast(_T("Cannot create main window"));
goto the_end;
}
nTimer = SetTimer(NULL, 0, 750, TimerCallback);
/* Boucle de traitement des messages */
while (GetMessage(&message, NULL, 0, 0))
{
TranslateMessage(&message);
DispatchMessage(&message);
}
nResult = message.wParam;
KillTimer(NULL, nTimer);
the_end:
if (_hMainFont != NULL)
DeleteObject(_hMainFont);
if (_hMainBrush != NULL)
DeleteObject(_hMainBrush);
return nResult;
}
|
|
Cette discussion est classée dans : code, mot, clignotant
Répondre à ce message
Sujets en rapport avec ce message
conversion char-->hexadécimal [ par ivdz ]
Bonjour,Est-ce que quelqu'un sait convertir un char en sa valeur hexadécimal ?Voici ce que j'ai essayé :char mot[]="255";int hexa;sscanf(mot
Pb test ! help !!!! [ par ast ]
Bonsoir a tous !Je souhaiterais réaliser un code qui me demande un mot de passe et qui me rende la main lorsque le bon mot de passe est entre, mais pr
Probleme liste chainee [ par jomanix ]
Comme je ne vois pas l'arbre au milieu de la foret je m'en remet a vousC'est un dictionnaire et pour l'instant je ve juste afficher mon arbre bianaire
Code source incomplet en C [ par Sneakito ]
Je suis un débutant, or j'ai un programme assez complexe à réaliser(pour moi), voici ce qu'il doit faire:Remplacer un mot dans une page html (hors bal
controle mot de passe [ par jetix ]
Salut à tous, j'ai besoin d'aide concernant sur ce bout de code écrit en devc++. Son principe est de récupérer le mot de passe écrit par l'utilisateur
fichiers en C [ par youssefmahdia ]
salut les amis,j'ai un petit problème;je suis entrain de faire du codage, en fait, j'associe à chaque symbole un mot de code.int sym[N];int mot[N];for
Vecteur de pointeur de char [ par noname001 ]
Bonsoir à tous. J'ai un petit soucis avec un vecteur de pointeur de char. Voici premièrement sa déclaration [code=cpp] char *mots_cles[MAX_MOTS_CLES
Demande de code [ par wowcrax ]
Bonjour, je suis nouveau sur ce forum et j'ai remarqué qu'il y avait beaucoup de personnes compétente dans le langage C. De plus je dois dire, que je
Livres en rapport
|
Derniers Blogs
[WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|