powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Сохранение окна в файл
2 сообщений из 2, страница 1 из 1
Сохранение окна в файл
    #32574903
Привет всем!

Функция получает hWnd и имя файла для сохранения. Использует класс CImage из ATL 7.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
int FormToFile(HWND hWnd, TCHAR * OutFile)
{
    HDC WinDC = GetWindowDC(hWnd);
    RECT sRect = { 0 };
    GetClientRect(hWnd, &sRect);
    int nWidth = sRect.right - sRect.left;
    int nHeight = sRect.bottom - sRect.top;
    CImage img;
    img.Create(nWidth, nHeight,  24 ); 
    BitBlt(img.GetDC(), nLeft, nTop, nWidth, nHeight, WinDC,  0 ,  0 , SRCCOPY);
    img.ReleaseDC(); 
    ReleaseDC(hWnd, WinDC);
    if (img.Save(OutFile))
        return - 1 ;
    return  0 ;
}

Проблема в следующем. GetClientRect возвращает размеры клиентской части окна; при копировании в файл выводится заголовок формы и всё остальное, соотвественно, правая и нижняя части окна в файле отсекаются. Что не так? Как сделать, чтобы в файл копировалась именно клиентская область (без заголовка, меню, скролов и обрамления?
...
Рейтинг: 0 / 0
Сохранение окна в файл
    #32574939
Sorry, вопрос снимается. Нужно пользовать GetSystemMetric.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Сохранение окна в файл
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]