윈도우의 XP 이상에서는 윈도우 폼 생성 클래스 중 CS_DROPSHADOW 라는 것이 있다.
하지만, 어느 SDK 에서도 이 그림자 생성에 관련된 것은 없지만 , 다음 방법으로 핸들값 을 통해 쉐도우를 생성 할수 있다.
void EnableDropShadow(HWND hWnd, bool DoEnable) { DWORD classLong = GetClassLong(hWnd, GCL_STYLE); if (DoEnable) classLong = classLong | CS_DROPSHADOW; else classLong = classLong & ~CS_DROPSHADOW; SetClassLong(hWnd, GCL_STYLE, classLong); }HWND 값에는 각종 CreateWindow() 함수를 통해 생성된 핸들을 지정할수 있다.
단 , CS_DROPSHADOW 플래그는 헤더나 코드 상단에 다음과 같이 정의 되어야 한다.
#define CS_DROPSHADOW 0x20000
이는 DELPHI 에서도 적용이 가능하다.