I just did what you're trying to do, but you don't mention a few things so I had to improvise in my declarations.
Here's how I declares my array of HWNDs
static struct
{
int id;
} combos [] = {
IDC_COMBO1, IDC_COMBO2, IDC_COMBO3, IDC_COMBO4, IDC_COMBO5, IDC_COMBO6};
HWND DlgItems[6];
I then initialize them like this:
for (int i = 0; i < sizeof combos / sizeof combos[0]; i++)
DlgItems[i] = ::GetDlgItem(GetSafeHwnd(), combos[i].id);
I created an array of strings like this:
static struct
{
char sz[10];
} gszGenres [] = {
"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
"11", "12", "13", "14", "15", "16", "17", "18", "19", "20",
"21", "22", "23", "24", "25", "26", "27", "28", "29", "30",
"31", "32", "33", "34", "35", "36", "37", "38", "39", "40",
"41", "42", "43", "44", "45", "46", "47", "48", "49", "50",
"51", "52", "53", "54", "55", "56", "57", "58", "59", "60",
"61", "62", "63", "64", "65", "66", "67", "68", "69", "70",
"71", "72", "73", "74", "75", "76", "77", "78", "79", "80",
"81", "82", "83", "84", "85", "86", "87", "88", "89", "90",
"91", "92", "93", "94", "95", "96", "97", "98", "99", "100",
"101", "102", "103", "104", "105", "106", "107", "108", "109", "110",
"111", "112", "113", "114", "115", "116", "117", "118", "119", "120",
"121", "122", "123", "124", "125", "126", "127", "128", "129", "130",
"131", "132", "133", "134", "135", "136", "137", "138", "139", "140",
"141", "142", "143", "144", "145", "146", "147", "148"};
Finally, the code to load the combo box:
for (int i = 0; i < sizeof gszGenres / sizeof gszGenres[0]; i++)
::SendMessage(DlgItems[5], CB_ADDSTRING, 0L, (LPARAM)gszGenres[i].sz);
Cheers,
Tom Archer
Author, Inside C#
Author, Visual C++.NET Bible
A total abstainer is one who abstains from everything but abstention, and especially from inactivity in the af
|