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

63 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.
//
// CandidateWindow.h
//
// CCandidateWindow declaration.
//
//////////////////////////////////////////////////////////////////////
#ifndef CANDIDATEWINDOW_H
#define CANDIDATEWINDOW_H
//+---------------------------------------------------------------------------
//
// CCandidateWindow
//
//----------------------------------------------------------------------------
class CCandidateWindow
{
public:
CCandidateWindow();
static BOOL _InitWindowClass();
static void _UninitWindowClass();
BOOL _Create();
void _Destroy();
void _Move(int x, int y);
void _Show();
void _Hide();
HRESULT _OnKeyDown(UINT uVKey);
HRESULT _OnKeyUp(UINT uVKey);
private:
static LRESULT CALLBACK _WindowProc(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 CCandidateWindow *_GetThis(HWND hwnd)
{
return (CCandidateWindow *)GetWindowLongPtr(hwnd, GWLP_USERDATA);
}
static ATOM _atomWndClass;
HWND _hwnd;
};
#endif // CANDIDATEWINDOW_H