vc中でコントロール配列を作成する方法は何ですか?
VC++でコントロール配列を作成する方法は以下のようにいくつかあります:
- 普通のC++の配列を使用すると、コントロールへのポインタを持つ配列を宣言し、ループを使用してコントロールを1つずつ作成して配列に保存することができます。
#include <Windows.h>
#include <vector>
HWND hButtons[5]; // 控件指针数组
for (int i = 0; i < 5; i++) {
hButtons[i] = CreateWindowEx(0, L"BUTTON", L"Button", WS_VISIBLE | WS_CHILD,
10 + i * 100, 10, 80, 30, hWnd, NULL, hInstance, NULL);
}
- std::vectorを使うと、コントロールポインタを保存し、動的にコントロールを追加および削除することができます。
#include <Windows.h>
#include <vector>
std::vector<HWND> hButtons; // 控件指针向量
for (int i = 0; i < 5; i++) {
HWND hButton = CreateWindowEx(0, L"BUTTON", L"Button", WS_VISIBLE | WS_CHILD,
10 + i * 100, 10, 80, 30, hWnd, NULL, hInstance, NULL);
hButtons.push_back(hButton); // 添加控件指针到向量
}
- 動的な配列を使用すると、new演算子を使用して動的に配列を割り当てて、コントロールポインタを保存できます。
#include <Windows.h>
HWND* hButtons = new HWND[5]; // 动态数组
for (int i = 0; i < 5; i++) {
hButtons[i] = CreateWindowEx(0, L"BUTTON", L"Button", WS_VISIBLE | WS_CHILD,
10 + i * 100, 10, 80, 30, hWnd, NULL, hInstance, NULL);
}
// 使用完后记得释放内存
delete[] hButtons;
これらは一般的な方法のいくつかですが、具体的なニーズや状況に応じて選択する方法が決まります。