begin process at 2012 02 14 07:05:40
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

J'AI BESOIN D'AIDE !!!! :)

 > 

OSD (On-Screen Display)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

OSD (On-Screen Display)

dimanche 13 janvier 2002 à 12:41:11 | OSD (On-Screen Display)

Ondex

Salut,

je cherche une technique pour afficher quelque chose en OSD (un composant ou du code).

J'ne ai trouver un mais c'etait un faux, ce n'etait en fait qu'une fenetre sans bordure toujour au dessus des autre.

Le but c'est d'afficher un timer dans Quake3 (pour le quad damage) et il n'y a que du 'vrai' OSD qui s'affiche par dessus le jeux (je ne veut pas jouer en mode fenetre).

Si vous avez une idée, n'hesiter pas

@+
Ondex
jeudi 24 janvier 2002 à 20:45:08 | Re : OSD (On-Screen Display)

Renfield

Administrateur CodeS-SourceS
C simple , grace a une API
( GetDesktopWindow ) tu recupere le Device Context de l'ecran
(numero identifiant pour windows)
maintenant , tu peux utiliser toutes les fonctions graphiques que tu veux , grace a ce hDc.


si tu veux plus de details...
vendredi 25 janvier 2002 à 19:07:59 | Re : OSD (On-Screen Display)

Ondex

Salut,

effectivement, je suis interresser par ton idée, peut m'envoyer plus d'information (ou me dire ou en trouver), si possible assez simple, je ne suis pas un grand programmeur VB

@+

-------------------------------
Réponse au message :
-------------------------------

C simple , grace a une API
( GetDesktopWindow ) tu recupere le Device Context de l'ecran
(numero identifiant pour windows)
maintenant , tu peux utiliser toutes les fonctions graphiques que tu veux , grace a ce hDc.


si tu veux plus de details...
lundi 28 janvier 2002 à 10:32:32 | Re : OSD (On-Screen Display)

Renfield

Administrateur CodeS-SourceS
comme je te l'ai dit ,

ex:
dans un module :

Public Declare Function GetDesktopWindow Lib "user32" Alias "GetDesktopWindow" () As Long

Public Declare Function Rectangle Lib "gdi32" Alias "Rectangle" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long

et dans ton code

dim ecran HDC as long
ecranHDC = GetDesktopWindow
dim tim as long
tim=Timer
Do:Doevents
Rectangle ecranHDC 50,150,400,370
Loop until tim+2<timer
'Affiche un rectangle à l'ecran pendant 2 secondes
'by RENFIELD


NIX (WebMaster de VFrance) a fait une source a ce sujet; je viens de la trouver :
http://www.vbfrance.com/article.asp?Val=84

Bye ;)
lundi 28 janvier 2002 à 10:33:05 | Re : OSD (On-Screen Display)

Renfield

Administrateur CodeS-SourceS
comme je te l'ai dit ,

ex:
dans un module :

Public Declare Function GetDesktopWindow Lib "user32" Alias "GetDesktopWindow" () As Long

Public Declare Function Rectangle Lib "gdi32" Alias "Rectangle" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long

et dans ton code

dim ecran HDC as long
ecranHDC = GetDesktopWindow
dim tim as long
tim=Timer
Do:Doevents
Rectangle ecranHDC 50,150,400,370
Loop until tim+2<timer
'Affiche un rectangle à l'ecran pendant 2 secondes
'by RENFIELD


NIX (WebMaster de VFrance) a fait une source qui utilise ce procede; je viens de la trouver :
http://www.vbfrance.com/article.asp?Val=84

Bye ;)
lundi 28 janvier 2002 à 10:33:23 | Re : OSD (On-Screen Display)

Renfield

Administrateur CodeS-SourceS
comme je te l'ai dit ,

ex:
dans un module :

Public Declare Function GetDesktopWindow Lib "user32" Alias "GetDesktopWindow" () As Long

Public Declare Function Rectangle Lib "gdi32" Alias "Rectangle" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long

et dans ton code

dim ecran HDC as long
ecranHDC = GetDesktopWindow
dim tim as long
tim=Timer
Do:Doevents
Rectangle ecranHDC 50,150,400,370
Loop until tim+2<timer
'Affiche un rectangle à l'ecran pendant 2 secondes
'by RENFIELD


NIX (WebMaster de VFrance) a fait une source qui utilise ce procede :
http://www.vbfrance.com/article.asp?Val=84

Bye ;)
jeudi 31 janvier 2002 à 20:47:36 | Re : OSD (On-Screen Display)

Ondex

Salut,

j'ai essayer ton code mais impossible de le faire fonctionner, il ne se passe rien.
J'ai modifier les qques erreurs (genre dim ecran HDC) mais sans resultats, il ne se passe rien. Si tu as une idée, je suis sous winXP si cela peut influencer tes idée.

Merci, @+



-------------------------------
Réponse au message :
-------------------------------

comme je te l'ai dit ,

ex:
dans un module :

Public Declare Function GetDesktopWindow Lib "user32" Alias "GetDesktopWindow" () As Long

Public Declare Function Rectangle Lib "gdi32" Alias "Rectangle" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long

et dans ton code

dim ecran HDC as long
ecranHDC = GetDesktopWindow
dim tim as long
tim=Timer
Do:Doevents
Rectangle ecranHDC 50,150,400,370
Loop until tim+2<timer
'Affiche un rectangle à l'ecran pendant 2 secondes
'by RENFIELD


NIX (WebMaster de VFrance) a fait une source qui utilise ce procede :
http://www.vbfrance.com/article.asp?Val=84

Bye ;)
jeudi 31 janvier 2002 à 21:21:09 | Re : OSD (On-Screen Display)

Renfield

Administrateur CodeS-SourceS
desole , j'ai ouble un detail :

GetDesktopWindow renvoie le Hwnd , non le HDc

(le handle de la fenetre , non le handle graphique !)

if faut que tu utilise GetDc pour recuperer le Hdc a partir du hWnd :

Declare Function GetDC Lib "user32" Alias "GetDC" (ByVal hwnd As Long) As Long


puis dans ton code

dim ecranHDC as long
dim ecranHwnd as long
ecranHwnd = GetDesktopWindow
ecranHdc = getdc(ecranHwnd)
dim tim as long
tim=Timer
Do:Doevents
Rectangle ecranHDC,50,150,400,370
Loop until tim+2<timer
'Affiche un rectangle à l'ecran pendant 2 secondes

j'ai ecris le code de tete donc j'avais pas pu verifier.
desole pour la perte de temps

la , ca marche

BYE! Renfield.

vendredi 1 février 2002 à 14:22:08 | Re : OSD (On-Screen Display)

Ondex

Salut,

je te remerci de ton code mais je en voit tjr rien, pourrai tu m'envoyer la source de ton projet quand ça marchait, parceque je pense avoir bien fais mais il n'y a rien.

Merci d'avance .

@+

-------------------------------
Réponse au message :
-------------------------------

desole , j'ai ouble un detail :

GetDesktopWindow renvoie le Hwnd , non le HDc

(le handle de la fenetre , non le handle graphique !)

if faut que tu utilise GetDc pour recuperer le Hdc a partir du hWnd :

Declare Function GetDC Lib "user32" Alias "GetDC" (ByVal hwnd As Long) As Long


puis dans ton code

dim ecranHDC as long
dim ecranHwnd as long
ecranHwnd = GetDesktopWindow
ecranHdc = getdc(ecranHwnd)
dim tim as long
tim=Timer
Do:Doevents
Rectangle ecranHDC,50,150,400,370
Loop until tim+2<timer
'Affiche un rectangle à l'ecran pendant 2 secondes

j'ai ecris le code de tete donc j'avais pas pu verifier.
desole pour la perte de temps

la , ca marche

BYE! Renfield.


samedi 2 février 2002 à 18:21:50 | Re : OSD (On-Screen Display)

Renfield

Administrateur CodeS-SourceS
Tu m'as l'air sacrement embette !

desole , ton prbleme aurai pu etre regle vite et bien.
au lieu de ca , ca fait une semaine que tu reste bloque , par ma faute :

bon , treve de plaisanterie:
ce code fonctionne à 100% (C sur, la j'avais VB sous la main)

de plus , il est plus simple !! (autre api , il en existe souvent des tas , pour faire une chose...)

********************
Declarations :
********************
Public Declare Function Rectangle Lib "gdi32" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Public Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Long) As Long

*********************
Code :
*********************
Dim tim As Long
tim = Timer
Do: DoEvents
Rectangle GetWindowDC(0), 0, 0, 400, 370
Loop Until tim + 2 < Timer
End
*********************

pour eviter que le rectangle reste , il faut que l'ecran se rafraichisse integralement.
un bon moyen :
Demarrer -> Arreter -> Annuler

Je te prie d'accepter moes exscuses (si si)
et espere que tu me contactera , si tu as d'autres problemes



1 2

Cette discussion est classée dans : afficher, display, etait, screen, osd


Répondre à ce message

Sujets en rapport avec ce message

OSD (On-Screen Display) [ par Ondex ] Salut,je cherche une technique pour afficher quelque chose en OSD (un composant ou du code).J'ne ai trouver un mais c'etait un faux, ce n'etait en fai Splash Screen [ par elpens ] Bonjour,J'ai a nouveau besoin de votre aide, pour une question qui peut-être est totallement stupide...J'ai réalisé une fenetre (splash screen) qui de Graphisme et timer [ par bboulant ] Bonjour à tous,J'ai écrit un pgm de poursuite de satellites www.astrosurf.com/bboulant que j'ai architecturé comme cela:1:la vue principale fait ses c Problème d'Unicode [ par Janeo ] Bonjour à tous, Appelant une BdB Access2000, la colonne en question s'affiche normalement (liste de mots en français) dans ma List1 et avec programma Problème pour afficher une autre langue [ par Janeo ] Bonjour à tous, Appelant une BdB Access2000, la colonne en question s'affiche normalement (liste de mots en français) dans ma List1 et avec programma Afficher un grille [ par kharrat ] Salut,Je développe une appli en VBA - ACCESS 2003.Est-ce que quelqu'un connaîtrait l'objet DB Grid ou Data Grid ?Mon problème est que je souhaite affi Crystal report .net [ par madflo ] Pour l'es connaisseurs :Je créé un dataset à une seul table. Les données importantes sont :fAssocie(AsId,AsNom,AsNbActions,AsRep)AsRep est en fait réc Vb.net s'arrette à la 1er condition!!! [ par Goldeneye007 ] Vb.net délire quand je met une condition avec un si et un sinon le programme regarde toujours la 1ere condition pk?Vlà le si : Function <fo Afficher le Nom du plus grand [VB6] [ par petchy ] bonjour dans une form j'ai 4 textbox et 4 label exemple :text1 = 9  label1 = Atext2 = 2  label2 = Btext3 = 3  label3 = Ctext4 = 6  label4 = Ddans Un composant pour affichage des dialoges et des messages [ par jobtunisieyasser ] Salut mes amisJe suis à la recherche d'un composant pour afficher les message avec un boutton Ok et annuler ....j'ai utilisé le composant BalloonDialo


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,702 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales