begin process at 2010 03 20 07:19:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

System

 > 

CreateWindow(Ex) un style en particulier


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

CreateWindow(Ex) un style en particulier

jeudi 11 janvier 2007 à 09:39:30 | CreateWindow(Ex) un style en particulier

badrbadr

Bonjour tout le monde,
Ma question aujoourd'hui porte sur les styles des fenêtres windows (CreateWindow(Ex).
Comment peut-on réaliser les styles montrées sur l'image suivante ?
Vista clock

Comme vous voyez, cette fenêtre n'a pas de barres de titre mais une bordure fixe.
Aussi, comme deuxième question, comment fait-on pour avoir une fenêtre sans bordure du tout.
J'ai essayé plusieurs combinaisons mais j'arrive pas au résultat estompé.

Merci pour vos réponses.
[:D] @++
jeudi 11 janvier 2007 à 10:07:30 | Re : CreateWindow(Ex) un style en particulier

racpp

Administrateur CodeS-SourceS
Bonjour,
Pour avoir une fenêtre sans barre de titre ni bordure il suffit de lui donner le style WS_POPUP seul. Ensuite, pour avoir une bordure comme sur l'image, je la dessine dans la zone cliente avec les fonctions de la GDI.
jeudi 11 janvier 2007 à 10:59:15 | Re : CreateWindow(Ex) un style en particulier

yoyo269

Membre Club
Et WS_VISIBLE aussi bien sûr ! lol

YOYO, @+.

"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"

jeudi 11 janvier 2007 à 11:19:38 | Re : CreateWindow(Ex) un style en particulier

badrbadr

racpp a dit :
Ensuite, pour avoir une bordure comme sur l'image, je la dessine dans la zone cliente avec les fonctions de la GDI.

J'ai oublier un petit détail : le screenshot est pris sur un WindowsVista. Donc, la bordure fait parti du style.
J'arrive à avoir une fenêtre sans bordure du tout mais une fenêtre comme celle sur le screen, je sais pas comment ils ont fait.
J'ai essayer avec WS_THICKFRAME + WS_POPUP et j'ai eu un résultat exactement semblable sauf (il y a tjrs un sauf :) que ma fenêtre est redimensionable contrairement à celle du screenshot :(
C'est un détail mais qui a son importance pour moi.

yoyo269 a dit :
Et WS_VISIBLE aussi bien sûr ! lol
Je ne l'ai pas mentionné et ça fonctionne bien. WS_VISIBLE est le style par défaut je pense :)

Allez, d'autres idées?
Merci pour tout
[:D] @++

jeudi 11 janvier 2007 à 11:38:05 | Re : CreateWindow(Ex) un style en particulier

racpp

Administrateur CodeS-SourceS
yoyo269 >> Pour les fenêtres il est préférable de ne pas mettre le style WS_VISIBLE. Avec ce style la fenêtre recevra WM_PAINT et sera immédiatement affichée. Grâce à ShowWindow() on ne l'affichera que quand elle a été correctement créée.
jeudi 11 janvier 2007 à 11:46:34 | Re : CreateWindow(Ex) un style en particulier

yoyo269

Membre Club
racpp >> Décidément on en apprend tous les jours, merci racpp !
badrbadr >> Pour empêcher le redimensionnement, je sais pas si il y a un style (ce qui serait bcp plus simple et j'apprendrais sûrement encore qq chose), mais tu peux essayer ceci :

case WM_SIZING:
            RECT* Dimension = (RECT*)lParam;
            Dimension -> bottom = HAUTEUR + Dimension -> top;
            Dimension -> right = LARGEUR + Dimension -> left;
            return 1;
break;

HAUTEUR et LARGEUR sont des constantes pour les dimensions de ta fenêtre.

YOYO, @+.

"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"

jeudi 11 janvier 2007 à 12:09:07 | Re : CreateWindow(Ex) un style en particulier

badrbadr

Merci yoyo269, ça fonctionne mais quand la souris est sur les bords, on voit très bien le curseur de redimensionnement. Ça gâche un peu l'effet.
Il y a certainement une autre manière de faire. En C#/.net, je pouvais spécifier une bordure fixe et aucun curseur n'apparait sur les bords. Je vais sortir Spy++ question de voir les styles utilisés.

Y'aurais pas qqun qui connait un autre moyen (en utilisant les styles par exemple), pour créer une fenêtre qui ne se redimensionne pas?

[:D] @++
jeudi 11 janvier 2007 à 12:42:29 | Re : CreateWindow(Ex) un style en particulier

yoyo269

Membre Club
En bidouillant un peu, j'ai trouvé ça :

WS_DLGFRAME | WS_POPUP

Dis-moi si ça te convient.

YOYO, @+.

"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"

jeudi 11 janvier 2007 à 12:51:15 | Re : CreateWindow(Ex) un style en particulier

badrbadr

Non, la bordure n'est pas la bonne.
Etk, ce n'est pas grave, je vais passer à autre chose maintenant.
Pour l'info, j'ai récupéré le style de la fenêtre (dont l'image est dans mon premier post) avec Spy++ et je l'ai appliqué tel quel à ma fenêtre. Résultat : exactement la même apparence mais ma fenêtre est redimensionable.
Constat : le programme en question (dont l'image....) utilise une fonction pour desactiver le redimensionnement.

[:D] @++
jeudi 11 janvier 2007 à 12:53:34 | Re : CreateWindow(Ex) un style en particulier

yoyo269

Membre Club
Ok badrbadr, bon courage pour la suite alors !

YOYO, @+.

"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"


1 2

Cette discussion est classée dans : style, question, ex, particulier, createwindow


Répondre à ce message

Sujets en rapport avec ce message

EDIT avec WM_EX_CLIENTEDGE [ par vecchio56 ] Bonjour J'ai un petit problème un peu difficile à expliquer: J'ai une fenêtre sans le style WS_CHILDWINDOW qui a une child edit. Je dessine par dessu Alternative au style WS_EX_LAYERED sur une fenetre enfant ? [ par shuttleur ] Bonjour à tous,Je cherche à faire un effet de halo autour d'une fenêtre.Cette fenêtre n'a que sa partie cliente visible. En fait, il me faudrait pouvo [DOS]Question .bat [ par lakeeee ] Salut, Je voudrais créer un fichier .bat pour lancer un programme .exe qui s'exécute dans une fenêtre DOS. Mon programme se lance bien avec la comman programmation touches en c [ par micwon ] Bonjour, J'aimerais utiliser une combinaison de touche (ex:Ctrl+s) pour afficher un texte ex("Salut") dans une fenêtre texte d'une application où je n Question sur TinyXML [ par akella ] Bonjour, Je me demandais si il étais possible de faire une instance publique d'un document XML pour ne pas avoir a toujours ré-ouvrir le fichier questionnaire a choix multiple [ par blacktanker ] Bonjour à tous voila j'ai une souci quand à la réalisation d'un projet de jeu en fenetre graphique utilisant la bibliothèque winbgim.h voila mon proga Perl [ par bennyben87 ] Bonjour,J'ai une question concernant concernant le langage perl.J'ai une centaine de fichiers ayant tous le même a non a la différence d'un numéro qui


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

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,421 sec (4)

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