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

C

 > 

Windows

 > 

GUI

 > 

Dialog fenetre enfant qui bloque


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

Dialog fenetre enfant qui bloque

mardi 5 juin 2007 à 18:30:05 | Dialog fenetre enfant qui bloque

NairodDorian

Bonjour,

Mon probleme est le suivant, j'utilises les resources avec des dialog et je voudrai affiche un dialogue defini par Child dans les proprietes des resources et sans bordures dans mon dialog principal. Voici le code :

HINSTANCE hInst;

BOOL CALLBACK UserControl(HWND hdlg, UINT msg, WPARAM wparam, LPARAM lparam)
{
 HDC hdc;
 PAINTSTRUCT ps;
 switch (msg) {
 case WM_COMMAND:
  switch (LOWORD(wparam)) {
  case IDCANCEL:
   EndDialog(hdlg, 0);
   return FALSE;
  }
 case WM_PAINT:
  hdc = BeginPaint(hdlg, &ps);

  // Draw code here...
  Rectangle(hdc, 0, 0, 100, 100);

  EndPaint(hdlg, &ps);
  break;
 }
 
 return FALSE;
}

BOOL CALLBACK AppDlg(HWND hdlg, UINT msg, WPARAM wparam, LPARAM lparam)
{
 switch (msg) {
 case WM_INITDIALOG:
  SetClassLong(hdlg, GCL_HICON, (LONG)LoadIcon(NULL, IDI_APPLICATION));
  return TRUE;
 case WM_COMMAND:
  switch (LOWORD(wparam)) {
  case IDC_BUTTON1:
   // Creation fenetre enfant
   DialogBox(hInst, MAKEINTRESOURCE(IDD_USERCONTROL), hdlg, (DLGPROC)UserControl, 0);
   break;
  case IDCANCEL:
   EndDialog(hdlg, 0);
   return FALSE;
  }
 }
 return FALSE;
}

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
  // TODO: Place code here.
 hInst = hInstance;
 DialogBoxParam(hInstance, MAKEINTRESOURCE(IDD_APP), NULL, (DLGPROC)AppDlg, 0);
 return 0;
}

Seul probleme l'application ne repond plus apres que j'ai appuye sur le bouton qui cree la fenetre enfant.

mardi 5 juin 2007 à 20:49:33 | Re : Dialog fenetre enfant qui bloque

NairodDorian

Solution :
Remplacer DialogBox par CreateDialog.
mercredi 6 juin 2007 à 09:29:56 | Re : Dialog fenetre enfant qui bloque

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !

BOOL CALLBACK UserControl(HWND hdlg, UINT msg, WPARAM wparam, LPARAM lparam)
{
  HDC hdc;
  PAINTSTRUCT ps;
  switch (msg) {
    case WM_COMMAND:
      switch (wparam) {
        case IDCANCEL:
        EndDialog(hdlg, 0);
        break;
      }
      break;
    case WM_PAINT:
      hdc = BeginPaint(hdlg, &ps);
      Rectangle(hdc, 0, 0, 100, 100);
      EndPaint(hdlg, &ps);
      break;
  }
  return 0;
}

Suffit d'une organisation correcte de la wndProc.
Ne pas laisser WM_COMMAND enchainer direct dans WM_PAINT.

ciao...
BruNews, MVP VC++



Cette discussion est classée dans : case, hdlg, wparam, return, hinstance


Répondre à ce message

Sujets en rapport avec ce message

encore un pb de timer!!!!! [ par melkiorlenecrarque ] je souhaite, en appuyan sur un boutton, declancher un timer ki ajoute a chak seconde une unité au caption de ce meme bouton mé sa marche pa!!!voici mo probleme focus ? [ par sleeper41 ] bonjourvoila j ai 2 threads qui lance 2 dialogbox avec sur l un 1 bouton et sur l autre 1 editbox.mon but est quand j appuie sur le bouton d'ecrire le dialogbox ??? [ par supergrey ] Bonjour tout le monde je voudrai savoir pourquoi ce programme n'affiche rien.//ca commence ici#include "stdafx.h"#include "stdio.h"#include "iostream. positions [ par Xs ] salut ! je cherche et je trouve pas, ou alors je sais pas m'en servir, comment on recupere la position actuelle du fenetre(dialogbox).j'ai essayé des touches [ par Xs ] voila, j'ai essayé de tester des touches afin que, par exemple, lorsque l'on appuie sur Y, une message box apparaisse.j'ai recupérer ce code venat de PB EditBox [ par SfyLer ] Bonjour à tous !J'ai créé un scanner de port sous dos, et j'ai commencer a le faire sous windows, j'ai presque fini le seul pb que j'ai c'est que je n faire progresser....une progress bar !! [ par Xs ] c tout bete, mais je sais pas comment faire. ou plutot lui dire a quoi comparer sa progression par rapport au chargement de quelque chose.mon code : # Pb sur un ptit bout de prog en DirectX.... [ par Haldwin ] Salut a tous....Voila j'ai deux ptits pbs quand je lance cette appli ci-dessous... (VC++)La première est q'une fois sur deux ma variable hWnd apres le Bouton fermer [ par PsyCaDi ] Je viens de créer un projet en VC6 et lorsque j'ai lancé la fenêtre, la croix rouge pour fermer, ne sert à rien.Idem si je fait clique droit et Fermet probleme de menu [ par Stubbornman ] Bonsoir a tous,J'ai un soucis avec des menus. Je souhaite creer des fenetres filles qui ont chacune un menu. Or je n'arrive pas a afficher les menus d


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 1,576 sec (4)

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