23. november 2000 - 19:39
Der er
3 kommentarer og
1 løsning
APIWindow
Hej NG
Jeg forsøger at lave en WIN32 windue som en klasse.
Mit problem er at jeg ikke kan få SetWindowLong() proceduren til at virke. koden er det neden stående. Er der ikke nogen der kan fortælle mig hvad jeg gør galt :
#include <windows.h>
#define WIN32_LEAN_AND_MEAN
class APIWindow
{
private:
protected:
HINSTANCE Inst;
HRGN hRegion;
HWND fHandle;
MSG Msg;
public:
virtual LRESULT WindowProc(UINT msg, WPARAM wp, LPARAM lp);
APIWindow();
Handle();
};
APIWindow::APIWindow()
{
fHandle = CreateWindowEx(WS_EX_DLGMODALFRAME, \"KBA_SPLASH_SCREEN\", \"\", WS_VISIBLE | WS_POPUP | WS_SYSMENU, 0, 0, 500, 500, 0, 0, Inst, 0);
SetLastError(0);
SetWindowLong(fHandle, GWL_WNDPROC, (DWORD)WindowProc);
return;
}
virtual LRESULT APIWindow::WindowProc(UINT msg, WPARAM wp, LPARAM lp)
{
//
}
HWND APIWindow::Handle()
{
return fHandle
}
Jens B
24. november 2000 - 08:35
#2
Skal din WindowProc ikke på en eller anden måde reagere på de parametre den får overført ??? Jeg formoder at SetWindowLong på et eller andet punkt kalder videre til WindowProc, og så er det vel op til dig at få dit vindue til at passe på de overførte parametre.
24. november 2000 - 11:30
#3
SetWindowLong ændere på adressen af din Windows procedure ...
Det jeg er på jagt efter er hvordan på jeg adressen på en metode. Altså en methodponter som det hedder Delphi..
Borlands måde at håndtere problemet i Delphi kan jeg ikke bruge da den baserer sig på VCL.
LBS> Jeg har hørt om MFC. Problemer er blot jeg skal lave en splash screen der poper op med jeg loader ZAPP og nogle andre moduler i min Applikation .... Den skal laves i REN win32
Jeg afviser dit svar soepro da det ikke hidbragte mig noget.
Jens B