EnableWindow() を使用してウィンドウを無効化し、グレー表示にする方法
EnableWindow() 関数でウィンドウを無効にしてグレー表示にするには、次の手順を行います。
- Windows.hヘッダーファイルのインクルード: コードファイルの先頭に #include を追加して、Windows APIに必要なヘッダーファイルをインクルードします。
- ウインドウのハンドルを取得する。対象となるウインドウのハンドルをFindWindow()関数やCreateWindow()関数を使って取得する。ウインドウのクラス名やウインドウタイトル、あるいは他の識別子等から、ウインドウを探索できる。
- ウィンドウを無効にする:EnableWindow() 関数を使用してウィンドウを無効にします。ウィンドウハンドルを EnableWindow() 関数の最初のパラメータとして渡し、2 番目のパラメータを FALSE に設定します。
- SetWindowLongPtr() 関数を使用し、WS_DISABLED スタイルを設定してコントロールを無効にして、ウィンドウスタイルを設定します。
EnableWindow() 関数を使用してウィンドウを無効化し、灰色で表示する方法を示すサンプル コードを以下に示します。
#include <Windows.h>
int main()
{
HWND hWnd = FindWindow(NULL, L"窗口标题"); // 根据窗口标题查找窗口句柄
if (hWnd != NULL)
{
EnableWindow(hWnd, FALSE); // 禁用窗口
// 设置窗口样式
LONG_PTR style = GetWindowLongPtr(hWnd, GWL_STYLE);
style |= WS_DISABLED;
SetWindowLongPtr(hWnd, GWL_STYLE, style);
SetWindowPos(hWnd, NULL, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED);
}
return 0;
}
サンプルコードのウィンドウタイトルは、実際の状況に合わせて置き換えてください。無効にする ウィンドウのハンドルは取得済みであることを確認してください。