Форум программистов, компьютерный форум CyberForum.ru

Работа с консольным окном - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать класс для эффективной работы со строками http://www.cyberforum.ru/cpp-beginners/thread443606.html
Написать класс для эффективной работы со строками, что позволяет форматировать и сравнивать строки, хранить в строках числовые значения и извлекать их. Для этого необходимо реализовать: • перегруженные операции присвоения и конкатенации; • операции сравнения и приведения типов; • преобразование в число любого типа; • форматный вывод строки. Написать программу, демонстрирующую работу с этим...
C++ Вывести несколько строк в файл Условие #include <iostream> #include <fstream> #include <iomanip> #include <cstring> const int N=100; std :: ifstream input; std :: ofstream output; http://www.cyberforum.ru/cpp-beginners/thread443599.html
C++ Создайте общий массив, из данного массива и точно такого же но другого размера, и отсортируйте по уменьшению.
Создайте общий массив, из данного массива и точно такого же но другого размера, и отсортируйте по уменьшению.
C++ Определите сумму элементов массива, расположенных после элемента равного минимуму.
Определите сумму элементов массива, расположенных после элемента равного минимуму.
C++ Отсортируйте элементы массива по возрастанию их модуля http://www.cyberforum.ru/cpp-beginners/thread443576.html
Отсортируйте элементы массива по возрастанию их модуля
C++ Определите количество элементов массива равных нулю. 1. Определите количество элементов массива равных нулю. подробнее

Показать сообщение отдельно
zss
Модератор
Эксперт С++
6365 / 5929 / 1923
Регистрация: 18.12.2011
Сообщений: 15,237
Завершенные тесты: 1
09.02.2012, 21:34
Консольное окно тоже являетя полноценным Windows окном.
Нужно узнать его hwnd, а дальше дело техники:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <windows.h>
#include <conio.h>
void main()
{
    HWND hwnd;       
    char Title[1024];
    GetConsoleTitle(Title, 1024); // Узнаем имя окна
    hwnd=FindWindow(NULL, Title); // Узнаем hwnd окна
    HDC hdc=GetDC(hwnd);    // Получаем контекст для рисования
    HPEN p1,p2=CreatePen(PS_SOLID,2,RGB(255,0,0)); // Создаем красное перо
    p1=(HPEN)SelectObject(hdc,p2);    // Заносим красное перо в контекст рисования
    LineTo(hdc,100,100);    // Проводим линию
    SelectObject(hdc,p1);    // Возвращаем старое перо
    ReleaseDC(hwnd,hdc);    // Освобождаем контекст рисования
    DeleteObject(p2);        // Удаляем созданное перо
    _getch();
}
Аналогично можно создавать и использовать кисти и шрифты.

Добавлено через 2 минуты
Да, размеры окна
C++
1
2
3
RECT rc;GetClientRect(hwnd,&rc);
int w=rc.right;// ширина
Int h=rc.bottom;// высота
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru