2025-11-28 00:35:46 +09:00

61 lines
1.5 KiB
C++

//////////////////////////////////////////////////////////////////////
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED
// TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (C) 2003 Microsoft Corporation. All rights reserved.
//
// PopupWindow.h
//
// CProeprtyPopupWindow
//
//////////////////////////////////////////////////////////////////////
#ifndef EXTENTVISUALWINDOW_H
#define EXTENTVISUALWINDOW_H
class CExtentVisualWindow
{
public:
CExtentVisualWindow(WCHAR *psz, COLORREF cr);
~CExtentVisualWindow();
HWND CreateWnd();
void Show(RECT *prc);
void Hide();
void OnPaint(HWND hwnd, HDC hdc);
BOOL IsShown()
{
if (!IsWindow(_hwnd))
return FALSE;
return IsWindowVisible(_hwnd);
}
static BOOL StaticInit();
static LRESULT CALLBACK _WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
static void _SetThis(HWND hwnd, LPARAM lParam)
{
SetWindowLongPtr(hwnd, GWLP_USERDATA,
(LONG_PTR)((CREATESTRUCT *)lParam)->lpCreateParams);
}
static CExtentVisualWindow *_GetThis(HWND hwnd)
{
return (CExtentVisualWindow *)GetWindowLongPtr(hwnd, GWLP_USERDATA);
}
HWND _hwnd;
static TCHAR _szWndClass[];
WCHAR _sz[80];
COLORREF _cr;
};
#endif EXTENTVISUALWINDOW_H