Accueil > Forum > > > > win32 et fenetrage
win32 et fenetrage
jeudi 20 mai 2004 à 22:06:12 |
win32 et fenetrage

djl
|
je voudrais lancer une fentre win32 en pleine ecran mais sans changement de mode video (par exemple si la fenetre à un fond noir, l'ecran deviendra noir, le context graphique de la fentre fera la taille de l'ecran) et je voudrai que la fenetre reste en fond, c'est à dire le contraire de "stay on top" j'espere etre assez claire, merci d'avance
|
|
jeudi 20 mai 2004 à 23:02:17 |
Re : win32 et fenetrage

theneoiceman
|
Pour metter ta fenetre en plein ecran je vais te dire la solution : dans ta fonction CreateWindow (ou CreateWindowEx) a l'endroit ou tu rentres les coordonnées de ta fenetre (c'est a dire le point x superieur gauche, le point y superieur gauche , la longueur et la largeur de la fenetre), tu passes ces parametres : CreateWindow ( ..., 0, // pour l'abscisse du point superieur gauche 0, // pour l'ordonnee du coin superieur gauche GetSystemMetrics(SM_CXSCREEN), // longueur GetSystemMetrics(SM_CYSCREEN), // largeur ... );
Voila voila @+
Mess with the best, die like the rest
|
|
jeudi 20 mai 2004 à 23:15:56 |
Re : win32 et fenetrage

djl
|
merci, c'est presque ca, en fait dans ce cas las la fentre est incluse dans l'ecran et on voit aussi la bar de titre et les contour, il faudrait en fait voir uniquement la zone de dessin (c'est une fenetre opengl)
|
|
jeudi 20 mai 2004 à 23:19:53 |
Re : win32 et fenetrage

BruNews
|
void InitInstance() { WNDCLASS wndclass; memset(&wndclass, 0, sizeof(WNDCLASS)); wndclass.style = CS_HREDRAW | CS_VREDRAW; wndclass.lpfnWndProc = AppWndProc; wndclass.hInstance = hinst; wndclass.hbrBackground = (HBRUSH) GetStockObject(BLACK_BRUSH); wndclass.lpszClassName = szappname; if(!RegisterClass(&wndclass)) return; hwndapp = CreateWindowEx(WS_EX_TOPMOST, szappname, 0, WS_POPUP | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS, 0, 0, GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN),// Size 0, 0, hinst, 0); }
ciao... BruNews, Admin CS, MVP Visual C++
|
|
jeudi 20 mai 2004 à 23:23:26 |
Re : win32 et fenetrage

ymca2003
|
un exemple de code en MFC (transposable en Win32 assez facilement) : Comment passer un plein écran ? Le mode sans barre de titre, ni menu... Connu aussi sous le nom de "Full Full Screen".
Déclarer WINDOWPLACEMENT m_WindowPlacement ; dans CMainFrame et reproduire le code ci-dessous.
void CMainFrame::OnViewFullScreen() { // read system metrics int cyCaption = ::GetSystemMetrics ( SM_CYCAPTION ) ; int cyMenu = ::GetSystemMetrics ( SM_CYMENU ) ; int cxFrame = ::GetSystemMetrics ( SM_CXFRAME ) ; int cyFrame = ::GetSystemMetrics ( SM_CYFRAME ) ; int cxScreen = ::GetSystemMetrics ( SM_CXSCREEN ) ; int cyScreen = ::GetSystemMetrics ( SM_CYSCREEN ) ;
WINDOWPLACEMENT NewWindowPlacement ;
if ( ! m_bFullScreen ) { GetWindowPlacement ( & m_WindowPlacement ) ; NewWindowPlacement = m_WindowPlacement ; NewWindowPlacement.showCmd = SW_SHOWNORMAL ; // run the app full screen ShowWindow ( SW_SHOWMAXIMIZED ) ;
// now run the app full full screen NewWindowPlacement.rcNormalPosition = CRect ( -cxFrame, - ( cyFrame + cyCaption + cyMenu ) , cxScreen + 2 * cxFrame , cyScreen + 2 * cyFrame + cyCaption + cyMenu ) ; } else { NewWindowPlacement = m_WindowPlacement ; } ;
m_bFullScreen = ! m_bFullScreen ; SetWindowPlacement ( & NewWindowPlacement ) ; }
void CMainFrame::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI) { // read system metrics int cyCaption = ::GetSystemMetrics ( SM_CYCAPTION ) ; int cyMenu = ::GetSystemMetrics ( SM_CYMENU ) ; int cxFrame = ::GetSystemMetrics ( SM_CXFRAME ) ; int cyFrame = ::GetSystemMetrics ( SM_CYFRAME ) ; int cxScreen = ::GetSystemMetrics ( SM_CXSCREEN ) ; int cyScreen = ::GetSystemMetrics ( SM_CYSCREEN ) ;
CFrameWnd::OnGetMinMaxInfo ( lpMMI ) ;
if ( m_bFullScreen ) { lpMMI->ptMaxPosition.x = - cxFrame ; lpMMI->ptMaxSize.x = lpMMI->ptMaxTrackSize.x = cxScreen + 2 * cxFrame ; lpMMI->ptMaxPosition.y = - ( cyFrame + cyCaption + cyMenu ) ; lpMMI->ptMaxSize.y = lpMMI->ptMaxTrackSize.y = cyScreen + 2 * cyFrame + cyCaption + cyMenu ; } ; }
|
pour le contraire de Stay on top, peut-être SetWindowPos avec HWND_BOTTOM (sans doute à remetre dès que la fenêtre devient active).
|
|
jeudi 20 mai 2004 à 23:29:48 |
Re : win32 et fenetrage

DeAtHCrAsH
|
Si tu fais ca a l'aide de l'EDI de VC++, t'as juste a modifier le parametres "Border" de ta fenetre en "None" puis ensuite tu utilise la méthode de theneoiceman pour la mettre en plein écran... La méthode de BruNews reste quand meme beaucoup plus pratique ... Tu as direcetement la couleur de fond ce qui t'evite de traiter l'événement WM_PAINT et d'initailiser un pinceau ....
A++ et bonne prog....
Samir
|
|
jeudi 20 mai 2004 à 23:44:44 |
Re : win32 et fenetrage

djl
|
ok merci à tous, le truc de brunews marche perfect
|
|
Cette discussion est classée dans : ecran, fenetre, win32, fentre, fenetrage
Répondre à ce message
Sujets en rapport avec ce message
win32 et sous-classement [ par mozert ]
hi.mmm... mwai.. voila mon probleme..le sous-classement (subclassing)..est-il possible de sous-classer une fenetre appartenant à un processus differen
Resolution [ par machistador ]
Bonjour, j'aimerais savoir comment changer la resolution de l'ecran sur une fenetre MS DOS en C sous Visual. J'aimerais aussi savoir s'il est possible
redimensionne une fenetre en visual c++ 6.0 [ par maesp ]
mon probleme est le suivant :quand j'agrandis ma fenetre les coposants qui y sont placé ne suive pas l'agrandissement de la fenetreje me retrouve avec
Fermer une fentre Opengl [ par iilyma ]
bonjour, je cherche comment fermer une fenetre opengl tout en conservant la fenetre dos active. J'ai essayé GlutWindowDestroy mais cela provoque une e
Style d'un fenetre Win32 [ par JCDjcd ]
Je voufrait bien savoir quel style il faut mettre pour que ma fenetre ne soit pas redimmensionnable !!!<img src=/imgs2/smile_sh
fenetre en plein ecran [ par tcok ]
slt a tous(re slt pour BruNews)je reviens sur mon probleme qui me donne beaucoup de fil a retordre..;g ma fenetre en plein ecran (donc elle cache la b
[WIN32] CallBack différente pour chaque CreateWindow [ par Arnotic ]
Bonjour, Je recherche actuellement le moyen d'avoir une callback différente à chaque fois que je créer une fenetre grace à CreateWindow ou CreateWin
recupérer le bitmap d'une fenetre sous borland c++ 5 [ par lele94 ]
Je voudrais faire une copie d'ecran ou de fenetre sans passer par la touche impr ecran.je pensais y arriver avec des fonctions strectchDIbits, etc ..
Effacer le contenu d'une fenetre... [ par Galmiza ]
Salut,Actuellement, pour effacer l'ecran je trace un rectangle plein blanc sur la fenetre.Or bizarrement, cette methode fait anormalement ramer le PC
[Win32] changer le mode video [ par djl ]
voila, j'e cree une fenetre d'une certaine resolution (en plein ecran ou non) et je voudrait savoir comment changer le mode video(en fait soit la tail
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|