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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание Диалога 
:(
    Опции темы
M_A_Y_
Дата 21.11.2007, 23:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Всем добрый вечер. Мне надо сделать скриншот диалоговых окон которое создается. Окна берутся из .dll. Сейчас скриншот делаеться в ответ на сообщение WM_COMMAND (IDOK, IDCANCEL). Как сделать так чтобы не надо было нажимать ни на какие кнопки, а диалоги сами открывались фотались и закрывались??? Есть какое-то сообщение сразу после создания окна. К примеру как WM_INITDIALOG ( он не подходит потому что при его вызове окно еще не отображаеться и фоткать собственно нечего). Вот кусок кода:
Код


void CDlgSearchDlg::OnBnClickedOk()
{
    HMODULE hDll;
    hDll = LoadLibraryW(L"D:\\Handmade\\C++\\SCAD\\dll_dlg\\DlgSearch\\scdlg0.dll");
    if(hDll==NULL)
    {
        MessageBoxW(L"Dll не найдена");
    }
    //EnumResourceNames(hDll,RT_DIALOG,(ENUMRESNAMEPROC)DlgFind,0);
    
    if(!EnumResourceNames(hDll,RT_DIALOG,(ENUMRESNAMEPROC)DlgFind,0))
    {
        MessageBoxW(L"ошибка поиска диалогов");
    }
    OnOK();
}

BOOL DlgFind(HMODULE hModule,LPCTSTR lpszType,LPTSTR lpszName,LONG_PTR lParam)
{
    lpszDialogName=lpszName;
    INT_PTR hnDlg;    
    hnDlg=DialogBoxW(hModule,lpszName,NULL,(DLGPROC)DlgCopy);
    
    return TRUE;
}

INT_PTR DlgCopy(HWND hwndDlg,UINT message,WPARAM wParam,LPARAM lParam)
{
    size_t MaxX=400,MaxY=400;
    HDC hdcDialog = GetWindowDC(hwndDlg);
    switch (message) 
    {    
    case WM_COMMAND: 
        switch (LOWORD(wParam))
        { 
        case IDOK:            
            SaveDlg(hwndDlg);
            EndDialog(hwndDlg, wParam); 
            return TRUE;
        case IDCANCEL:            
            SaveDlg(hwndDlg);
            EndDialog(hwndDlg, wParam); 
            return TRUE; 
        }
    }    
    //EndDialog(hwndDlg, wParam);
    return FALSE;

}


SaveDlg(hwndDlg) изображения сохраняет, проверено.
PM MAIL   Вверх
LostSoul
Дата 21.11.2007, 23:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Емм... На второе сообщение WM_PAINT должно точноуже быть все прорисовано
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.1116 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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