не могу зарегистрировать оконный класс
От: Chutok Россия  
Дата: 06.05.02 10:42
Оценка:

такая беда, поможите, что не так

TestGraph.dll::

LRESULT CALLBACK AFX_EXPORT
TGraphWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
CWnd* pWnd;
pWnd = CWnd::FromHandlePermanent(hWnd);

if(pWnd == NULL)
{
pWnd = new TGraphic();
pWnd->Attach(hWnd);
}

LRESULT lResult = AfxCallWndProc(pWnd, hWnd, message, wParam, lParam);
return lResult;
}

BOOL TGraphic::RegisterWndClass(HINSTANCE hInstance)
{
WNDCLASS wc;
wc.lpszClassName = "TGRAPHIC";
wc.lpfnWndProc = (WNDPROC)TGraphWndProc;
wc.hCursor = ::LoadCursor(NULL, IDC_ARROW);
wc.hIcon = NULL;
wc.hbrBackground = (HBRUSH) ::GetStockObject(WHITE_BRUSH);
wc.style = CS_GLOBALCLASS;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;

//И ВОТ ЗДЕСЬ НА ВЫЗОВЕ RegisterClass access violation
return (::RegisterClass(&wc) != 0) ;
}

В чем беда? Поможите
чуТок Я исчо :)
Re: не могу зарегистрировать оконный класс
От: KaSA  
Дата: 06.05.02 11:46
Оценка:
Здравствуйте Chutok, Вы писали:

C>

C>такая беда, поможите, что не так

C>TestGraph.dll::


C>LRESULT CALLBACK AFX_EXPORT

C> TGraphWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
C>{
C> CWnd* pWnd;
C> pWnd = CWnd::FromHandlePermanent(hWnd);
C>
C> if(pWnd == NULL)
C> {
C> pWnd = new TGraphic();
C> pWnd->Attach(hWnd);
C> }

C> LRESULT lResult = AfxCallWndProc(pWnd, hWnd, message, wParam, lParam);

C> return lResult;
C>}

C>BOOL TGraphic::RegisterWndClass(HINSTANCE hInstance)

C>{
C> WNDCLASS wc;
C> wc.lpszClassName = "TGRAPHIC";
C> wc.lpfnWndProc = (WNDPROC)TGraphWndProc;
C> wc.hCursor = ::LoadCursor(NULL, IDC_ARROW);
C> wc.hIcon = NULL;
C> wc.hbrBackground = (HBRUSH) ::GetStockObject(WHITE_BRUSH);
C> wc.style = CS_GLOBALCLASS;
C> wc.cbClsExtra = 0;
C> wc.cbWndExtra = 0;
C> wc.hInstance = hInstance;
C>
C>//И ВОТ ЗДЕСЬ НА ВЫЗОВЕ RegisterClass access violation
C> return (::RegisterClass(&wc) != 0) ;
C>}

C>В чем беда? Поможите


У тебя с hInstance все в порядке? Ты его как получаешь?
Re[2]: не могу зарегистрировать оконный класс
От: Chutok Россия  
Дата: 06.05.02 12:18
Оценка:
KSA>У тебя с hInstance все в порядке? Ты его как получаешь?

BOOL CTestGraph32App::InitInstance()
{
TGraphic::RegisterWndClass(AfxGetInstanceHandle());
return CWinApp::InitInstance();
}
чуТок Я исчо :)
Re[3]: не могу зарегистрировать оконный класс
От: KaSA  
Дата: 06.05.02 13:15
Оценка:
Здравствуйте Chutok, Вы писали:

KSA>>У тебя с hInstance все в порядке? Ты его как получаешь?


C>BOOL CTestGraph32App::InitInstance()

C>{
C> TGraphic::RegisterWndClass(AfxGetInstanceHandle());
C> return CWinApp::InitInstance();
C>}

hInstance
Handle to the instance that contains the window procedure for the class.
Re: не могу зарегистрировать оконный класс
От: KaSA  
Дата: 07.05.02 04:28
Оценка: 3 (1)
Здравствуйте Chutok, Вы писали:


C>BOOL TGraphic::RegisterWndClass(HINSTANCE hInstance)

C>{
C> WNDCLASS wc;
C> wc.lpszClassName = "TGRAPHIC";
C> wc.lpfnWndProc = (WNDPROC)TGraphWndProc;
C> wc.hCursor = ::LoadCursor(NULL, IDC_ARROW);
C> wc.hIcon = NULL;
C> wc.hbrBackground = (HBRUSH) ::GetStockObject(WHITE_BRUSH);
C> wc.style = CS_GLOBALCLASS;
C> wc.cbClsExtra = 0;
C> wc.cbWndExtra = 0;
C> wc.hInstance = hInstance;
C>
C>//И ВОТ ЗДЕСЬ НА ВЫЗОВЕ RegisterClass access violation
C> return (::RegisterClass(&wc) != 0) ;
C>}

C>В чем беда? Поможите



    wc.lpszMenuName = NULL;


Однако
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.