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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Апи.Вызов диалога, отображается некорректно 
:(
    Опции темы
Gongex
Дата 12.4.2008, 02:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



подключил и вызвал диалог  в апи.Сам диалог не отображается а кнопки Ок и Кэнсэл видны.Почему?

Код

BOOL CALLBACK    DlgProc(HWND, UINT, WPARAM, LPARAM);
................
..............
.............
   ShowWindow(hWnd, SW_HIDE);
   UpdateWindow(hWnd);
DialogBox(hInst,MAKEINTRESOURCE(IDD_DIALOG1),hWnd,DlgProc);
  
return TRUE;
}
.......................
.....................
.....................
BOOL CALLBACK    DlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    switch(uMsg){
case WM_INITDIALOG:
    

return true;

case WM_COMMAND:
switch (LOWORD(wParam)) {
case IDOK:
case IDCANCEL:
    
    HWND hWnd;

PostQuitMessage(0);
EndDialog(hDlg,0);
    return TRUE;

}
break;
    }

}

 ! 
archimed7592
Не забываем пользоваться кнопкой "Код" или тэгами [code=xxx][/code]


Это сообщение отредактировал(а) archimed7592 - 12.4.2008, 13:05
PM MAIL   Вверх
Gongex
Дата 12.4.2008, 07:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



static HWND hButton;

     switch (message)
     {
     case WM_CREATE:
          {
               hButton=CreateWindow("button","start",WS_VISIBLE,50,50,150,150,hWnd,(HMENU)ID_GO,hInst,NULL);

return 0;
          }

чето со вторым параметром

cannot convert parameter 2 from 'const char [7]' to 'LPCWSTR'
PM MAIL   Вверх
Andrey44
Дата 12.4.2008, 07:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1501
Регистрация: 4.12.2006
Где: На работе

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



_T("start") или L"start"


--------------------
????? ??, ??????? ?????.  smile 
PM MAIL WWW ICQ   Вверх
586
Дата 12.4.2008, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

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



Gongex, пиши код по-человечески и всё станет понятно.
Код
BOOL CALLBACK    DlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    switch(uMsg)
    {
    case WM_INITDIALOG: 
        break;

    case WM_COMMAND:
        switch (LOWORD(wParam))
        {
        case IDOK:
        case IDCANCEL:
            //PostQuitMessage(0);  // зачем здесь это?
            EndDialog(hDlg,0);
            break;
        }
        break;

    default:
        return FALSE;
    }
    return TRUE;
}

PM   Вверх
Gongex
Дата 12.4.2008, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(586 @ 12.4.2008,  15:19)
Gongex, 
Код

        
            //PostQuitMessage(0);  // зачем здесь это?
            }

чтобы закрывать окно из диалога.Совсем.
PM MAIL   Вверх
korian
Дата 13.4.2008, 01:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 8.3.2008
Где: Украина, Харьков

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



Цитата(Gongex @  12.4.2008,  01:30 Найти цитируемый пост)
подключил и вызвал диалог  в апи.Сам диалог не отображается а кнопки Ок и Кэнсэл видны.Почему?

могу предположить, что в строке: DialogBox(hInst,MAKEINTRESOURCE(IDD_DIALOG1),hWnd,DlgProc);
IDD_DIALOG1 - не тот ресурс.
второе предположение - при создании диалога в ресурсах, все контролы созданы без стиля WS_VISIBLE, т.е. не видимы.
а ваще... есть такая штука как Spy++ или что-нить подобное и все сразу становится ясно.
PM   Вверх
586
Дата 13.4.2008, 03:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

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



return FALSE нигде в диалоговой процедуре не возвращается. Перехватываются все сообщения о прорисовке.
PM   Вверх
Gongex
Дата 13.4.2008, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



я скопировал код 586-го и окно появилось.Спасибо!!!.Понял False не возвращалось

На счет кнопки мне подсказали в другом месте ошибка была не CreateWindow а CreateWindowA

А _T("start)  и L"start" не сработало
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.0942 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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