63 lines
1.5 KiB
C++
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
|