Childwindow wird nicht mit Menu angezeigt



  • Hi, ich habe ein Fenster. In der WindowProcedure ein ChildWindow erzeugt:

    LRESULT CALLBACK
    WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
    WNDCLASSEX wincl;
    HWND ToolDialog;
    HMENU hMenu;
      HDC hDC;
      PAINTSTRUCT ps;
      HRGN Circle; RECT rect;
      HBRUSH Brush;
      int CiRad; 
    
    ActTool = 0;
    
        switch (message)                  /* handle the messages */
        {
            case WM_CREATE:
    
       /* Register the child window */
    //    wincl.hInstance = hThisInstance;
        wincl.lpszClassName = ToolClassName;
        wincl.lpfnWndProc = ToolProc;      /* This function is called by windows */
        wincl.cbSize = sizeof (WNDCLASSEX);
        wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
        wincl.lpszMenuName = NULL;                 /* No menu */
         wincl.cbClsExtra = 0;                      /* No extra bytes after the window class */
        wincl.cbWndExtra = 0;                      /* structure or the window instance */
        wincl.hbrBackground = (HBRUSH) (COLOR_WINDOW + 1);
        /* Register the window class, and if it fails quit the program */
        if (!RegisterClassEx (&wincl)) return 0;
    
        ToolDialog = CreateWindowEx (
               0,                   /* Extended possibilites for variation */
               ToolClassName,       /* Classname */
               "Tools",           /* Title Text */
               WS_POPUP|WS_CAPTION|WS_VISIBLE, /* default window */
               100,       /* Windows decides the position */
               100,       /* where the window ends up on the screen */
               56,       /* The programs width */
               176,       /* and height in pixels */
               hwnd,        /* The window is a child-window to Main Window */
               NULL,                /* No menu */
               NULL,       /* Program Instance handler */
               NULL                 /* No Window Creation data */
               );
    
         if (! ToolDialog) MessageBox(NULL,"Fehler","Kein Kindfenster",MB_OK);      
    //          ShowWindow (ToolDialog, 0);
    //     hMenu=LoadMenu(NULL,MAKEINTRESOURCE(DM_MAINMENU));
    //     SetMenu (hwnd, hMenu);
    
                break;
    ..
    

    Wie man sieht, hab ich auch mal probiert, in der WM_CREATE ein Menu einzubinden.
    Dies gelang mir im übrigen ganz gut. Allerdings wird das ChildWindow dann nciht mehr erstellt, bzw. angezeigt..
    Die beiden anderen Möglichkeiten (WNDCLASSEX, CreateWindow) führen auch dazu, dass das ChildWondow nicht mehr angezeigt wird.

    Was läuft da falsch??



  • Vollständigen Code bitte, damit man direkt compilieren + rumspielen kann.



  • Ist das ne selbst programmierte Toolbar oder die aus den Common Controls?



  • Okay,

    unter Win98/Win95 funzt es allerdings nicht. Da hat er mit das Fenster auch nie angezeigt..
    mitglied.lycos.de/DocJunioR/TGen.zip

    Das Projekt wird auf Dauer ein wenig größer. Die Umgebung ist der DEV 5.

    THX
    DjR



  • ist eigentlich nur ein Fenster das zufällig das MainWindow als übergeordnetes hat - ergo selbstgebaut

    Ich glaube, das hat sich gerade erledigt. Ich hab zwar nicht mitbekommen, warum das so ist, aber es läuft jetzt, wenn ich das Menü erstelle.

    [ Dieser Beitrag wurde am 20.11.2002 um 18:52 Uhr von DocJunioR editiert. ]



  • So, mal so nebenbei die Frage, warum das Toolfenster im Win98 nicht dargestellt wird... ??


Anmelden zum Antworten