hallo,
ich hab wohl gerade einen kleine denkfehler, könnt ihr vielleicht mal eben gucken
habe diese klasse, interessant ist erstmal nur die friend deklaration:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
class WINGUI_EXPORT CWindow
{
friend LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
private:
HWND hWnd;
MSG msg;
WNDCLASSEX windowClass;
HINSTANCE hInstance;
static std::map<HWND, CWindow*> windows;
std::map<HWND, CControlElement*> controlElements;
bool closed;
public:
CWindow() {}
CWindow(char* pTitle, int pWidth, int pHeight, HINSTANCE pInstance);
void AddControlElement(CControlElement* pControlElement);
void DoMessageLoop();
bool Closed();
void Destroy();
HWND GetHandle();
};
|
und die entsprechende methode:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch(msg)
{
case WM_DESTROY:
{
CWindow::windows[hWnd]->closed = true;
return 0;
}
case WM_COMMAND:
{
CWindow::windows[hWnd]->controlElements[(HWND)lParam]->SetEvent(HIWORD(wParam));
return 0;
}
}
return DefWindowProc(hWnd, msg, wParam, lParam);
}
|
beim kompilieren bekomme ich:
1>c:\users\benedikt\documents\visual studio 2010\projects\wingui\wingui\cwindow.cpp(10): error C2248: "WINGUI::CWindow::windows": Kein Zugriff auf private Member, dessen Deklaration in der WINGUI::CWindow-Klasse erfolgte.
und einige andere fehler, die aber selbe ursache haben.
Ich meine, dass der code unter vc++ 2008 express funktioniert hat, hab jetzt 2010.
kann eigentlich nur ein ganz kleiner fehler sein... ich finde ihn aber nicht