Accueil > Forum > > > > modif d'info d'une fenètre avant sa création.
modif d'info d'une fenètre avant sa création.
mardi 21 septembre 2004 à 16:55:38 |
modif d'info d'une fenètre avant sa création.

hdaniel
|
Bonjour, je cherche a modifier l'apparence d'une fenêtre par exemple un bouton visible ou pas avant la création de la fenêtre. pour que la fenêtre ai la bonne apparence dès sa création. hdaniel
|
|
mardi 21 septembre 2004 à 18:21:12 |
Re : modif d'info d'une fenètre avant sa création.

BruNews
|
Fais tes manips dans WM_CREATE ou WM_INITDIALOG
ciao... BruNews, MVP VC++
|
|
mercredi 22 septembre 2004 à 09:51:58 |
Re : modif d'info d'une fenètre avant sa création.

hdaniel
|
J'avais déja essayé avec WM_CREATE et ça ne va pas.
je fais apparaitre le bouton avec : m_CtrlBut.ShowWindow(SW_SHOW); et ça me pête un popup debug assertion failed file winocc.cpp line 301
y a peut-être un autre moyen de rendre visible un bouton.
hdaniel
|
|
mercredi 22 septembre 2004 à 10:05:23 |
Re : modif d'info d'une fenètre avant sa création.

malik7934
|
Moi j'utilise un BOOL:
Variable global: BOOL setVisible, ensuite lors de l'appel je fais: case IDC_BOUTON1: setVisible =TRUE; return (int)DialogBox(hInst,MAKEINTRESOURCE(IDD_FENETRE),NULL,fenetreDlg); }
et dans fenetreDlg, je fais un truc genre: if (setVisible) { hCtrl = GetDlgItem(hWndconf, IDC_BOUTON_A_AFFICHER); showWindow(hCtrl, SW_SHOW); }
Voilà!
|
|
mercredi 22 septembre 2004 à 10:40:15 |
Re : modif d'info d'une fenètre avant sa création.

BruNews
|
Une prochaine fois serait cool d'indiquer 'MFC' dans la question.
ciao... BruNews, MVP VC++
|
|
jeudi 23 septembre 2004 à 09:34:13 |
Re : modif d'info d'une fenètre avant sa création.

hdaniel
|
Bon, j'ai du mal a comprendre (j'suis pas un c++seur de longue date)
le passage par un bool tout a fais ok,
(int)DialogBox(hInst,MAKEINTRESOURCE(IDD_FENETRE),NULL,fenetreDlg); } je comprends pas.
malik7934, quand tu dis et dans fenetreDlg, je fais un truc genre:
c'est dans le constructeur? fenetreDlg::fenetreDlg(CWnd* pParent ) : CDialog(fenetreDlg::IDD, pParent)
hdaniel
|
|
jeudi 23 septembre 2004 à 09:49:59 |
Re : modif d'info d'une fenètre avant sa création.

malik7934
|
en fait, je crois que j'ai mal compris ce que tu veux. Ma méthode fait la chose suivante: tu es sur une fenêtre, il y a un bouton "ajouter une editbox" par exemple. En cliquant sur ce bouton, une editbox apparaît, mais en changeant de fenêtre. Si tu veux rester au même endroit, ben y a une source sur ce site qui t'expliquera: c'est pour une progress bar, je sais plus sa référence alors la voilà: #ifndef __PROGRESSBAR_H #define __PROGRESSBAR_H
#include <windows.h> #include <commctrl.h>
class ProgressBar { private: HWND hBar;
public: int MaxRan; int MinRan;
BOOL Init(HWND hwndbar); //Initialise le controle BOOL SetRange(int nMinRange,int nMaxRange); //Définis la position Minimale et Maximale void Hide(BOOL bVisible); //Afiche ou Cache le controle BOOL IsVisible(void); //Détermine si le controle est visible int SetStep(int nStep); //Définis le pas int SetPos(int nPos); //Définis la valeur du controle int Increment(int nIncrement);//Incrémente de nIncrement la valeur du controle int IncrementStep(void);//Incrémente d'un pas définis par SetStep la valeur du controle };
BOOL ProgressBar::Init(HWND hwndbar) //Initialise le controle { hBar=hwndbar;
if (hBar==NULL) { return FALSE; } return TRUE; }
BOOL ProgressBar::SetRange(int nMinRange,int nMaxRange) //Définis la position Minimale et Maximale { if ((nMinRange<0) || (nMaxRange>65535)) { return FALSE; }
if(SendMessage(hBar,PBM_SETRANGE,0,MAKELPARAM(nMinRange,nMaxRange))==0) { return FALSE; }
MinRan = nMinRange; MaxRan = nMaxRange;
return TRUE; }
int ProgressBar::SetStep(int nStep) //Définis le pas { int nOldStep; nOldStep=SendMessage(hBar,PBM_SETSTEP,(WPARAM)nStep,0); return nOldStep; }
int ProgressBar::Increment(int nIncrement) //Incrémente de nIncrement la valeur du controle { int nOldPos; nOldPos=SendMessage(hBar,PBM_DELTAPOS,(WPARAM)nIncrement,0); return nOldPos; }
int ProgressBar::IncrementStep(void) //Incrémente d'un pas définis par SetStep la valeur du controle { int nOldPos; nOldPos=SendMessage(hBar,PBM_STEPIT,0,0); return nOldPos; }
int ProgressBar::SetPos(int nPos) //Définis la valeur du controle { int nOldPos; nOldPos=SendMessage(hBar,PBM_SETPOS,(WPARAM)nPos,0); return nOldPos; }
void ProgressBar::Hide(BOOL bVisible) //Afiche ou Cache le controle { if (bVisible==TRUE) { ShowWindow(hBar,SW_SHOW); } else { ShowWindow(hBar,SW_HIDE); } }
BOOL ProgressBar::IsVisible(void) //Détermine si le controle est visible { return IsWindowVisible(hBar); } #endif
|
après, il te suffit de faire Bar1.Hide(false/true); (Bar1 est déclaré dans le cas présent "progressbar Bar1;"). T'as plus qu'à adapter! Voilà! J'espère que c'est ce que tu voulais! See you,Malik7934
|
|
jeudi 23 septembre 2004 à 10:11:51 |
Re : modif d'info d'une fenètre avant sa création.

hdaniel
|
Je pense que mon problème est plus simple que ce que tu penses.
j'ai une fenêtre ou je collecte des informations. à la fin de cette collecte, je crée une fenêtre dlgModifConf
dlgModifConf.DoModal()
dans la fenêtre dlgModifConf je veux imposer certains choix au début (en fonction des infos collectés avant).
notamment faire apparaître ou non un bouton.
donc avec un bool je peux sauver mon info tout a fais ok. mais ou je met mon ShowWindow?
hdaniel
|
|
jeudi 23 septembre 2004 à 10:26:37 |
Re : modif d'info d'une fenètre avant sa création.

malik7934
|
Ben alors je reviens sur ce que je disais:
Variable global: BOOL setBoutonVisible; /* pour avoir ton fameux bouton*/ case TRAITEMENT: /* en supposant que tu as un bouton "Traitement des infos" qu'on clique lorsque différentes radio sont cochées par exemples*/ if(SendMessage(GetDlgItem(hWnd,IDC_RADIO),BM_GETCHECK,0,0) == BST_CHECKED){/* imaginons que IDC_RADIO implique une condition */ EndDialog(hWnd,0);/*je ferme la fenêtre courante*/ setBoutonVisible = TRUE; /*je dis que je veux afficher mon bouton en plus*/ return (int)DialogBox(hInst,MAKEINTRESOURCE(IDD_FENETRE2),NULL,fenetreDlg); }/*et ouvre une nouvelle fenêtre, identique à la précédente (un clône), mais qui a les spécificités demandées par IDC_RADIO en plus*/
et dans BOOL CALLBACK fenetre(...) (qui est la même fonction qu'avait appelé ton programme et o`on à coché le radio!), je fais if (setVisible) { hCtrl = GetDlgItem(hWnd, IDC_BOUTON_A_AFFICHER); showWindow(hCtrl, SW_SHOW); }
... on y est? Je sais pas si ma méthode est "propre" mais elle a l'avantage de fonctionner ;o)
|
|
jeudi 23 septembre 2004 à 14:59:33 |
Re : modif d'info d'une fenètre avant sa création.

hdaniel
|
J'ai bien du mal avec ton style de programmation. je pense que tu est un cran au dessus.
moi je crée mes boites de dialogue avec editeur microsoft VC6 et je fais un DoModal et je ne me sens pas capable de passer a cette programmation cela risque de me poser plein de problème. je suis pas a l'aise avec les handles de fenêtre etc... hdaniel
|
|
Cette discussion est classée dans : création, fenêtre, info, fenètre, modif
Répondre à ce message
Sujets en rapport avec ce message
Hook sur création de fenêtre du système [ par r144 ]
Bonjour, voila j'ai ecrit un petit prog avec un dll en prenant appui sur le source de BruNews(que je remercie) qui capture la création d'une fenêtre d
Fin de création d'une fenêtre... [ par Zart ]
Bonjour, Y a t il une méthode permettant de savoir si une fenêtre est complètement chargée ? Le truc serais que ma fenêtre se lance... Ensuite quand
création de fenêtre enfant [ par polykos ]
quelqu'un saurait me dire pour quoi lorsque avec CreateWindow, j'indique en tant que style WS_CHILD, j'obtiens une feêtre enfant mais inactive ???!!
Appeler une fonction à la création d'une fenêtre [ par LuckyNut ]
Salut la cavalerie !Jai besoin d'appeler une fonction une fois qu'une fenetre (CDialog ou CMainFrame) est affichée à l'écran et pas avant. Comment c'e
pb de création de fenêtre [ par starjab ]
bonjour , voilà un extrait de mon programme ://On crée nos différents boutons CreateWindowEx(0,  
Problème avec la création de ToolsBar. [ par Superweight ]
Bonjour à tous,
Récupération des pixels d'une fenêtre cachée [ par sebcmoa ]
Bonjour, Je vous expose mon problème : - J'utilise la fonction glReadPixels sur une fenêtre invisible. Cela me retourne bien les données...mais problè
Création fenêtre en MFC [ par romauto750 ]
Bonjour à tous,Voici une petite question qui me pose bien des problèmes.Je suis en MFC.J'aimerai créer une fenêtre "temporaire" qui servirai à simplem
Modifier contenu fenêtre [ par SpreadFirefox ]
Bonjour à tous,Je suis nouveau dans le développement orienté objet, veuillez donc m'excuser pour les fautes grossières que je risque d'avoir faite ou
info CPU [ par BastienL21 ]
Bonjour à tous,Je suis actuellement en train de développer une application console en C.Je souhaiterais savoir comment il faut faire pour récupérer (l
Livres en rapport
|
Derniers Blogs
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 REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
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
|