*
Hallo,
ich hab mir eine klasse erstellt in der mit CreateWindowEx ein Fenster erstellt werden soll. Diese Fenster soll so ähnich wie eine MessageBox fungieren. unter anderem 100 & mehr mal nebeneinander aufgehen.
einmal das Fenster zu erstellen klappt, jedoch ein weiteres fenster öffnen wärend das eine noch offen ist geht nicht, da bricht mir das prog mit einer unbehandeleten ausnahme ab. und schreibt mir etwas (was ich nicht ganz versteh) das der _firstheap == dem _nextheap ist.
so erstelle ich das fenster
HWND CCView::CreateDlg(HINSTANCE hInstance, HWND hWndParent, int nCmdShow,LPCTSTR lpszTitel, RECT *pRect)
{
char szClassName[128];
sprintf(szClassName,"VIEW_%i",m_iCountView);
m_iCountView++;
RegisterClass(hInstance,(WNDPROC)CViewProc,szClassName,IDI_MAINICON,IDC_ARROW);//Registrier deine Classe
HWND hWnd = CreateWindowEx(
m_dwMainStyleEx,
szClassName,
lpszTitel,
m_dwMainStyle,
pRect->left,
pRect->top,
(pRect->right - pRect->left),
(pRect->bottom - pRect->top),
NULL,
(HMENU)NULL,
hInstance,
NULL);
::ShowWindow(hWnd, nCmdShow);
return hWnd;
}
aufrufen tu ich die obere funktion so
for(int iloop =0; iloop <= 10;iloop++)
{
RECT rc;
rc.left = 0 + (iloop*10);
rc.top = 0 + (iloop*10);
rc.right = 450 + (iloop*10);
rc.bottom = 400 + (iloop*10);
HWND hWndParent = GetParent();
HWND hWnd = GetDlgItem();
HINSTANCE hInstance = (HINSTANCE) GetWindowLong(hWndParent,GWL_HINSTANCE);
CCView *pView = new CCView();
HWND hView = pView->CreateDlg(hInstance,hWnd,SW_SHOW,lpszFilePath,&rc);
delete pView;
}
die eigenen funktionen GetParent, GetDlgItem & lpszFilePath liefern jeweils den richtigen wert.
Kann mir dabei jemand helfen??