Newsgroup: it.comp.programmare.win32
Titolo: [newbie] Ancora un problemino con le dialog ( backgroung color).

Ciao a tutti.
   Ho ancora un problemino con le dialog in C .
Dalla mia dialog, a seguito di un evento, faccio aprire una altra
dialog. Mi sembra di aver fatto tutto correttamente, infatti mi apre
la dialog e ci posiziona tutti gli oggetti. L' unico problema e' che il
background e la menu-title sono trasparenti.
Come faccio a fare comparire il colore di BackGround ?
Posto qui sotto la parte rilevante del codice
Grazie in anticipo
Pigi
Questo e' il codice:
....
int APIENTRY WinMain(HINSTANCE hinst, HINSTANCE hinstPrev, LPSTR 
lpCmdLine, int nCmdShow)
{
         WNDCLASS wc;
         memset(&wc,0,sizeof(wc));
         wc.lpfnWndProc = DefDlgProc;
         wc.cbWndExtra = DLGWINDOWEXTRA;
         wc.hInstance = hinst;
         wc.hCursor = LoadCursor(NULL, IDC_ARROW);
         wc.hbrBackground = (HBRUSH) (COLOR_WINDOW + 1);
         wc.lpszClassName = "F4DataGather";
         RegisterClass(&wc);
     hInstance = hinst;
         return DialogBox(hinst, MAKEINTRESOURCE(IDD_MAINDIALOG), NULL, 
(DLGPROC) DialogFunc);
}
static BOOL CALLBACK DialogFunc(HWND hwndDlg, UINT msg, WPARAM wParam, 
LPARAM lParam)
{
DWORD dwRes = 0;
HDC hdc;
PAINTSTRUCT     ps;
    switch (msg) {
      case WM_INITDIALOG:
           InitializeApp(hwndDlg,wParam,lParam);
           return TRUE;
      case WM_COMMAND:
           switch (LOWORD(wParam)) {
                 case IDOK:
                     // fare qualcosa ...
                   return 1;
                 case IDCANCEL:
                   EndDialog(hwndDlg,0);
                   return 1;
                 case SetUpOpenDlg :
                   return DialogBox(hInstance, MAKEINTRESOURCE(SetupDLG),
                                     hwndDlg,SetupFunc);
           }
           break;
         }
         return FALSE;
}
static BOOL APIENTRY SetupFunc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM 
lParam)
{
    switch(msg)
    {
      case WM_INITDIALOG:
        return TRUE;
      case WM_COMMAND:
           switch (LOWORD(wParam))
           {
             case SetupCancelButton:
                  EndDialog(hwnd,0);
                  return 1;
            }
            break;
     }
     return TRUE;
}
E questo e' il file delle risorse :
IDD_MAINDIALOG DIALOG 124, 86, 202, 107
STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "F4DataGather"
FONT 8, "Helv"
MENU SetupMenu
BEGIN
     DEFPUSHBUTTON   "OK", IDOK, 26, 70, 40, 14
     PUSHBUTTON      "Cancel", IDCANCEL, 142, 70, 40, 14
     LTEXT           "Press OK to start gather information from Falcon 
shared memory", Text, 13, 37, 113, 28
END
SetupDLG_0200 DIALOG 76, 19, 249, 154
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
CAPTION "Configuration Setup"
FONT 8, "MS Sans Serif"
BEGIN
     AUTORADIOBUTTON "File", RadioFile, 16, 15, 39, 13
     AUTORADIOBUTTON "Network", RadioNet, 15, 54, 39, 10
     AUTORADIOBUTTON "Serial", RadioSer, 15, 91, 39, 10
     LTEXT           "File Name", 204, 29, 31, 34, 12
     LTEXT           "Port", 205, 28, 68, 20, 12
     EDITTEXT        FldFileName, 73, 30, 114, 12, ES_AUTOHSCROLL
     EDITTEXT        FldPort, 73, 67, 32, 12, ES_AUTOHSCROLL
     PUSHBUTTON      "Ok", SetupOkButton, 53, 126, 40, 14
     PUSHBUTTON      "Save", SetupSaveButton, 99, 126, 40, 14
     PUSHBUTTON      "Cancel", SetupCancelButton, 145, 126, 40, 14
END
SetupMenu MENU
BEGIN
     POPUP "&Setup"
         BEGIN
         MENUITEM "&Preferences", SetUpOpenDlg
         END
END

          RegisterClass(&wc);
Qui registri la classe però poi non vedo dove l'associ al template del
dialog...
Esempio da un mio file risorse (.rc)
MAINDIALOG DIALOG DISCARDABLE  0, 0, 219, 90
STYLE DS_MODALFRAME | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "UO Synchro 1.0"
CLASS "UOSynchro"              <----------------- QUI CI VA IL NOME DELLA
TUA CLASSE
FONT 8, "Comic Sans MS"
BEGIN
ecc.

 Esempio da un mio file risorse (.rc)
La prima parte del codice e' stata generata da un tool, che pero' non 
gestisce
l' aggiunta di altre finestre in un successivo momento.
Faro' delle verifiche, pero' se ci fosse un link dove poter vedere come
si fa l' apertura di multiple dialog :)