не выводит директории!

Тема в разделе "Общие вопросы по С и С++", создана пользователем -, 16 дек 2008.

  1. Гость

    Моё задание заключалось в следующем: создать кнопки для дисков, которые активны и при нажатии на какую-либо кнопку, в ЛистБокс должна выводиться директория, соответствующая этому диску.
    Здесь я создаю кнопки для активных дисков:
    a[0]='A';
    a[1]='B';
    a[2]='C';
    a[3]='D';
    a[4]='E';
    a[5]='F';
    a[6]='G';
    a[7]='H';
    a[8]='I';
    a[9]='J';
    int i=0;
    for (i=0;i<10;i++)
    {
    x[0]=a;
    x[1]=':';
    x[2]='/';
    x[3]='\0';
    if (_wchdir(x)==false)
    {
    j=j++;
    but[j]=CreateWindow(TEXT("button"),x,WS_VISIBLE|WS_CHILD|BS_PUSHBUTTON,240,(35*j)+10,70,30,hWnd,(HMENU)33,hI
    nstance,NULL);
    }
    }

    обработчик нажатия на одну из кнопок:
    case 33:
    for (j=0;j<10;j++)
    {
    SendMessage(hList,LB_RESETCONTENT,0,0);
    GetWindowText(but[j], tx, sizeof(tx));
    _wchdir(tx);
    SendMessage(hList,LB_DIR,DDL_DIRECTORY|DDL_READWRITE|DDL_HIDDEN|DDL_SYSTEM,(LPAR
    AM)TEXT("*.*"));
    }
    break;
    Проблема в том, что обработчик пробегает цикл и выводит в ЛистБокс только последний элемент, как будто я нажимала на последнюю кнопку. Как сделать так, чтобы в ЛистБокс данные именно с того диска, на который я нажала??
     
  2. ZZmiy

    ZZmiy Гость

    Согласно MSDN все child окна должны иметь уникальный id
    поэтому как минимум в строчке
    but[j]=CreateWindow(TEXT("button"),x,WS_VISIBLE|WS_CHILD|BS_PUSHBUTTON,240,(35*j)+10,70,30,hWnd,(HMENU)33,hI
    nstance,NULL);
    ошибка
    Cоздаем кнопки с различными ID, ну а дальше дело техники :)
     
  3. Гость

    спасибо большое))
     
Загрузка...

Поделиться этой страницей