ďťż

Ładny brzuch

Witam.

Mam taki fragment kodu BOOL CListCtrlDlg::OnInitDialog() { CDialog::OnInitDialog(); // Add "About..." menu item to system menu. // IDM_ABOUTBOX must be in the system command range. ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) {  CString strAboutMenu;  strAboutMenu.LoadString(IDS_ABOUTBOX);  if (!strAboutMenu.IsEmpty())  {   pSysMenu->AppendMenu(MF_SEPARATOR);   pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);  } } CRect rect(7,7,30,30); // Set the icon for this dialog.  The framework does this automatically //  when the application's main window is not a dialog SetIcon(m_hIcon, FALSE);   // Set big icon SetIcon(m_hIcon, TRUE);  // Set small icon m_Display->Create(NULL,   //nazwa okna     NULL,  //nazwa     WS_CHILD|WS_CLIPSIBLINGS|WS_CLIPCHILDREN|WS_VISIBLE, //rodzaj     rect,     this,  //to okno jest korzeniem     1); // TODO: Add extra initialization here // Make the necessary initializations m_List.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT/*|LVS_EX_ONECLICKACTIVATE|LVS_EX_SIMPLESELECTLVS_EX_FLATSB|*/ ); return TRUE;  // return TRUE  unless you set the focus to a control
Niestety podczas próbie uruchomienia wywala mi błąd. Niby wszystko się kompiluje ale przy poleceniu Create wywala mi "Unhandled exception at 0x00404d87 in ListCtrl.exe: 0xC0000005: Access violation reading location 0xcccccccc." Może macie pomysł jak to poprawić albo chociaż gdzie znaleźć błąd?



Nie wiem cos Ty tam natworzyl, ale masz tu ptzyklad z MSDN'a jak sie tworzy okienka niemodalne:
http://msdn2.microso...y/yhth57kd.aspx

Ok. Tak można to zrobić jeśli klasa która tworzy okno jest oparta na CDialog. Niestety moja klasa dziedziczy po CWnd. Robie to tak ponieważ w przykładzie umiejscowniena OpenGL w oknie konieczne było stworzenie klasy opartej właśnie na CWnd

tak sie sklada, że CDialeg dziedziczy po CWnd :) Zauwaz ze CDialog zawiera metode:
CWnd *GetWindow()
i po klopocie:)
Zainteresuj sie tez polem klasy CDialog m_hWnd :)

//edit
W gwoli scislosci bo sie zle wyslowilem. GetWindow i m_hWnd nie zwierają sie w CDialog tylko w CWnd z ktorego CDialeg dziedziczy i dzieki tem ma do nich dostep.
Użytkownik Rom edytował ten post 01 czerwiec 2006, 16:14
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •