begin process at 2010 02 10 10:46:10
  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 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 Question \0 et unicode , ISO-8859-15 [ par layoutl ] Bonjour, J'utilise pour designer la fin d'une chaine, le caractere \0, mais avec l'unicode / UTF-8 / ISO-8859-15 ... cela ne pose-t-il pas de proble COMMANDE [double clique] [ par Maarch ] J'ai cherché un peu partout mais j'ai rien trouvé. Voila il existe quelques commande du style MOUSEMOVE x y pour bouger la souris jusqu'au point X,Y e


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,858 sec (3)

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