XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Общение> Трактир
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Закрытая тема
 
bee
vjass.optimizer
offline
Опыт: 16,615
Активность:
[c++] изменение размера консоли
если ли возможность программно изменить размер окна консоли? если да, то будьте добры дайте мне название функции или библиотеки хотя бы. я видел как такое в какой-то игре было сделано. но найти как это было сделано не могу.
Старый 23.11.2011, 05:12
Ajaccio

offline
Опыт: 1,007
Активность:
Ну консоль это окно, если делать на чистом WinApi, то нужно:
  1. Через SetConsoleTitle изменяем заголовок консоли (для поиска). БТВ, класс окна - "ConsoleWindowClass".
  2. Получаем его HWND, например через функцию FindWindow.
  3. Дальше уже наверняка можно изменять его размер как у простого окна, например, через MoveWindow.
Старый 23.11.2011, 10:11
bee
vjass.optimizer
offline
Опыт: 16,615
Активность:
да не, это слишком сложно. должно быть проще.
там при инициализации сразу оно меняется на заданные (как мне нужно).
а обычно, в любых консольных программах, размер всегда одинаковый:
Старый 23.11.2011, 11:32
Wolfeg
oldfag
offline
Опыт: 23,207
Активность:
Старый 24.11.2011, 07:57
reALien

offline
Опыт: 29,211
Активность:
Это ж работает только под фреймворком ^
Старый 24.11.2011, 18:05
Wolfeg
oldfag
offline
Опыт: 23,207
Активность:
других способов не нашел
Старый 24.11.2011, 20:38
Hellfim
Новичок
offline
Опыт: 79,707
Активность:
Старый 24.11.2011, 21:22
bee
vjass.optimizer
offline
Опыт: 16,615
Активность:
Цитата:
Сообщение от Hellfim
http://hashcode.ru/questions/41324/как-задать-размер-окна-консольного-приложения-c
с этим получилось, но как записать функцию MoveWindow
в смысле что она принимает?
Код:
#include <windows.h>
#include <conio.h>

int main ()
{
 HANDLE hWnd = GetStdHandle(STD_OUTPUT_HANDLE);
COORD bufferSize = {80, 50};
SetConsoleScreenBufferSize(hWnd, bufferSize);
MoveWindow(hWnd, 0, 0, 640, 480, false);
getch();
return 0;   
}


bee добавил:
здесь ругается на MoveWindow пишит,
что invalid conversion from `void*' to `HWND__*'
Старый 27.11.2011, 17:01
bee
vjass.optimizer
offline
Опыт: 16,615
Активность:
ну помогите эй
Старый 28.11.2011, 05:01
Ajaccio

offline
Опыт: 1,007
Активность:
int main ()
{
	wchar_t szTITLE[] = L"SEARCHEDSTRINGTITLE";

	SetConsoleTitle(szTITLE);
	Sleep(1.5);
	MoveWindow(FindWindow(NULL, szTITLE), 1, 1, 400, 400, false);

	getch();
	return 0;
}
:P
Старый 28.11.2011, 08:43
bee
vjass.optimizer
offline
Опыт: 16,615
Активность:
Старый 29.11.2011, 18:24
Ajaccio

offline
Опыт: 1,007
Активность:
Если использовать функции стандарта ASCII, то, очевидно, нужно заменить wchar_t на char.
Ну и убрать L в строке L"SEARCHEDSTRINGTITLE".
Старый 29.11.2011, 18:54
bee
vjass.optimizer
offline
Опыт: 16,615
Активность:
вот теперь выглядит довольно таки вдувабельно!
от души
Старый 30.11.2011, 19:18
Закрытая тема

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 10:47.