Skocz do zawartości

Problem z kilkoma dialogami


Gering

Recommended Posts

To znowu ja . Wiem ze jestem troszeczeke uciązliwy ale dopiero co sie ucze winapi . Mam teraz problem z dialogami . Pisze kod w Dev-Cpp i w pliku zasobów tworzę sobie dwa następujące dialogi :


#include <windows.h>
#include "zmienne.h"
IDI_ICON        ICON    DISCARDABLE "icon.ico"

MENS MENU DISCARDABLE 
BEGIN
POPUP "&About"
BEGIN
MENUITEM "&About Jenny Antivirus",              IDM_ABOUT
MENUITEM SEPARATOR
MENUITEM "&Zakończ",                            IDM_END
END
END


ABOUTBOX DIALOG DISCARDABLE  70, 50, 180, 102
STYLE DS_MODALFRAME | WS_POPUP
FONT 8, "MS Sans Serif"
BEGIN
    DEFPUSHBUTTON   "OK",IDOK,66,81,50,14
    ICON            IDI_ICON,9,5,5,16,16
    CTEXT           "Jenny Antivirus ( ver 1.00.0 )",10,40,30,100,15
    CTEXT           "Program is create by Damian Kacprzak",11,25,40,130,15
    CTEXT           "Jenny Antivirus ( ghost007@o2.pl )",12,30,50,120,10
    
END



ENDPROGRAM DIALOG DISCARDABLE  80, 50, 181, 103
STYLE DS_MODALFRAME | WS_POPUP
FONT 8, "MS Sans Serif"
BEGIN
    DEFPUSHBUTTON   "OK",IDNO,67,81,50,14
END
[/color]

A w procedurze obsługi okna pisze :
[color=green]


#include "zmienne.h"
HWND Scan;
HWND Stop;


BOOL CALLBACK AboutDlgProc (HWND hDlg, UINT message, 
                            WPARAM wParam, LPARAM lParam)
{
     switch (message)
     {
     case WM_INITDIALOG :
          return TRUE ;
          
     case WM_COMMAND :
          switch (LOWORD (wParam))
          {
          case IDOK :
          case IDCANCEL :
               EndDialog (hDlg, 0) ;
               return TRUE ;
          }
          break ;
     }
     return FALSE ;
}


BOOL CALLBACK EndProc (HWND EndP, UINT message, 
                            WPARAM wParam, LPARAM lParam)
{
     switch (message)
     {
     case WM_INITDIALOG :
          return TRUE ;
          
     case WM_COMMAND :
          switch (LOWORD (wParam))
          {
          case IDOK :
          case IDCANCEL :
               EndDialog (EndP, 0) ;
               return TRUE ;
          }
          break ;
     }
     return FALSE ;
}


LRESULT CALLBACK JennyProc(HWND OknoJenny,UINT Message,WPARAM wParam,LPARAM lParam)
{
 static HINSTANCE Jenny;
 
switch(Message)
{   
  
    
    case WM_CREATE:
    {
     HFONT hFont;
     
    
    Jenny = ((LPCREATESTRUCT) lParam)->hInstance ;
    Scan = CreateWindow("button", "Scan", WS_CHILD | WS_VISIBLE , 10,10,50,25,OknoJenny, (HMENU)100,Jenny, NULL);
    Stop = CreateWindow("button", "Stop", WS_CHILD | WS_VISIBLE , 10,40,50,25,OknoJenny, (HMENU)101,Jenny, NULL);
    CreateWindow ("LISTBOX", NULL, WS_CHILD | WS_VISIBLE | WS_BORDER | LBS_SORT, 70,10, 400, 200, OknoJenny, (HMENU) 123, (HINSTANCE) GetWindowLong (OknoJenny, GWL_HINSTANCE), NULL) ; 
    SendMessage(Scan,WM_SETFONT,(WPARAM)GetStockObject(DEFAULT_GUI_FONT ),0);
    SendMessage(Stop,WM_SETFONT,(WPARAM)GetStockObject(DEFAULT_GUI_FONT ),0);
    return 0;
    }
    break;
    
    case WM_COMMAND:
    {    
        if(wParam == IDM_END)
        {
        SendMessage(OknoJenny,WM_DESTROY,wParam,lParam);
        }
        
        if(wParam == IDM_ABOUT)
        {
        DialogBox (Jenny, TEXT ("AboutBox"),OknoJenny, AboutDlgProc) ;
        }
        
        if(wParam == 100)
        {
         DialogBox (Jenny, TEXT ("End"),OknoJenny,EndProc) ;

        }
                
    
    }
    break;
    
    case WM_CLOSE:
    {
    
    }
    break;
    
    
    case WM_PAINT: 
    {
    HDC hdc;
    hdc = GetDC(OknoJenny);
    GetStockObject(DEFAULT_GUI_FONT );
    
    TextOut(hdc,100,200,"www",3);
    ReleaseDC(OknoJenny,hdc);
    
    }
    break; 
    
    case WM_DESTROY:
    {
    PostQuitMessage(0);
    }
    break;
}

return DefWindowProc(OknoJenny,Message,wParam,lParam);
}





To mi nie chodzi . Plik exe jest generowany a po kliknięciu przycisku Scan nic sie nie dzieje . Porszę o pomoc . Dziękuje z góry .

Link do komentarza
Udostępnij na innych stronach

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...