Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с Dialog'ами 
:(
    Опции темы
Barabeo
Дата 21.1.2011, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 2.10.2010

Репутация: нет
Всего: нет



Есть 2 диалога
Код

BOOL CALLBACK ViewDialogProc(HWND hDlg,UINT Message,WPARAM wParam,
                             LPARAM lParam)
{
    static HWND hPictureWnd;

    switch (Message)
    {
    case WM_INITDIALOG:
         hPictureWnd=GetDlgItem(hDlg,IDC_STATIC);
         SetWindowText(hDlg,ViewDialogProc);
         return TRUE;
    case WM_CLOSE:
        EndDialog(hDlg,IDCANCEL);
    return TRUE;

    }
    return FALSE;
};


И второй
Код

BOOL CALLBACK TrackDialogProc(HWND hDlg,UINT Message,WPARAM wParam,
                              LPARAM lParam)
{
    static HWND hTrackbarWnd;
    static char sVal[20];

    switch (Message)
    {
    case WM_INITDIALOG:
        hTrackbarWnd=GetDlgItem(hDlg,IDC_SLIDER);
        SetWindowText(hDlg,sDlgSliderCaption);
        SetDlgItemText(hDlg,IDC_EDIT_MIN,sMin);
        SetDlgItemText(hDlg,IDC_EDIT_MAX,sMax);
        
        if (!Dot)
            sprintf(sVal,"%d%s",nSliderBegin*(int)fSliderK+(int)fSliderB,ch);
        else
            sprintf(sVal,"%d%s",(int)pow(2,nSliderBegin),ch);

        SetDlgItemText(hDlg,IDC_EDIT_VAL,sVal);
        SendMessage(hTrackbarWnd,TBM_SETRANGE,TRUE,
            MAKELONG(nSliderMin,nSliderMax));        
        SendMessage(hTrackbarWnd,TBM_SETTICFREQ,nSliderStep,nSliderMin);
        SendMessage(hTrackbarWnd,TBM_SETPOS,TRUE,nSliderBegin);
        SetFocus(hTrackbarWnd);
        return TRUE;

        case WM_HSCROLL:
        if (!Dot)
            sprintf(sVal,"%d%s",SendMessage(hTrackbarWnd,TBM_GETPOS,0,0)*
            (int)fSliderK+(int)fSliderB,ch);
        else
            sprintf(sVal,"%d%s",(int)pow(2,SendMessage(hTrackbarWnd,TBM_GETPOS,0,0)),ch);

        SetDlgItemText(hDlg,IDC_EDIT_VAL,sVal);

        return TRUE;

    case WM_CLOSE:
        Dot=FALSE;
        EndDialog(hDlg,IDCANCEL);
    return TRUE;

    case WM_COMMAND:
        switch(LOWORD(wParam))
        {
            
        case IDOK:
            if (!Dot)
                nSliderResult=SendMessage(hTrackbarWnd,TBM_GETPOS,0,0)*
                (int)fSliderK+(int)fSliderB;
            else
                nSliderResult=pow(2,SendMessage(hTrackbarWnd,TBM_GETPOS,0,0));

            Dot=FALSE;
            EndDialog(hDlg,IDOK);
            return TRUE;

        }
        break;
    }
    return FALSE; 
};


Второй диалог работает. А вот когда вызываю первый появляется второй.
Вызов в меню первого
Код

case ID_VIEWRESULT:
        {
          strcpy(pDlgViewCaption,"View Result");
        }

Второго
Код

case ID_MEDIANLINE:
        if(Current)
        {    
            strcpy(sDlgSliderCaption,"Median filter aperture");
            nSliderMin=1;nSliderMax=10;
            nSliderStep=1;nSliderBegin=1;
            strcpy(sMin,"3");
            strcpy(sMax,"21");
            ch[0]=0;fSliderK=2;fSliderB=1;
            
            if (GetTrackValue()==IDOK && nSliderResult!=0)
            {
                MedianLineFilter(Current,Next,(BYTE)nSliderResult);
                Current=Next;
                InvalidateRect(hWnd,NULL,TRUE);
            }
        };
        return; 

    }
};


Чё не так?
PM MAIL   Вверх
xvr
Дата 21.1.2011, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 40
Всего: 223



Цитата(Barabeo @  21.1.2011,  15:16 Найти цитируемый пост)
Вызов в меню первого
А где собственно вызов?


PM MAIL   Вверх
Barabeo
Дата 21.1.2011, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 2.10.2010

Репутация: нет
Всего: нет



Цитата(xvr @ 21.1.2011,  18:01)
Цитата(Barabeo @  21.1.2011,  15:16 Найти цитируемый пост)
Вызов в меню первого
А где собственно вызов?

Так а чего второй появляется?Там ведь тоже кагбэ вызова нету?
PM MAIL   Вверх
xvr
Дата 21.1.2011, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 40
Всего: 223



Цитата(Barabeo @  21.1.2011,  19:09 Найти цитируемый пост)
Так а чего второй появляется?Там ведь тоже кагбэ вызова нету? 
В коде, который вы привели вообще нет вызовов никаких диалогов, так что ищите в другом месте - там, где они создаются


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0500 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.