Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/25: Рейтинг темы: голосов - 25, средняя оценка - 4.76
 Аватар для Игорь с++
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033

Определённое место окна

09.03.2011, 21:23. Показов 5051. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте господа програмисты!я пишу на dev c++ для "dos" и столкнулся с такой проблемой- как сделать так,что бы dos-овское окно появлялось в определённом месте?вообще возможно ли это,если да то можно посмотреть элементарный текст программы с определённым местом окна!?
Заранее всем огромное спасибо!!!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.03.2011, 21:23
Ответы с готовыми решениями:

Вернуться в определенное место программы
Здравствуйте! Есть ли возможность в С++ выполнить возврат к определенному месту в коде. Например у меня есть набор команд (что то вроде...

Добавить число на определенное место массива
Размер легко изменить Действия 1)Добавь число на определенное место 2)Добавить число в место индекса 3)Вывод массива...

Как перевести каретку в определенное место?
Мне надо поставить каретку в определенное место, но не знаю как... Напишите, пожалуйста, как это сделать и пример кода.

10
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
09.03.2011, 22:27
Если имелась в виду консольная прога под Windows, то
C++
1
2
3
4
5
6
7
8
9
#define _WIN32_WINNT 0x0500
#include <windows.h>
#include <iostream>
 
int main()
{
    SetWindowPos(GetConsoleWindow(), 0, 200, 100, 0, 0, SWP_NOSIZE | SWP_NOZORDER);
    std::cin.peek();
}
1
 Аватар для Игорь с++
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
09.03.2011, 22:57  [ТС]
спасибо вам огромное!!!
0
 Аватар для IrineK
2023 / 1641 / 425
Регистрация: 23.02.2011
Сообщений: 6,002
Записей в блоге: 25
09.03.2011, 23:39
Несмотря на
#define _WIN32_WINNT 0x0500
и даже
#define _WIN32_WINNT 0x0502

У меня GetConsoleWindow() не находится, хотя своими глазами его вижу в wincon.h. Судя по обилию сообщений в сети, проблема таки есть.
Пришлось искать замену. Нагуглилось. После некоторых манипуляций откомпилировалось.

Тем, у кого такая же проблема с GetConsoleWindow() посвящается:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <windows.h>
#include <wincon.h>
#include <iostream>
    
HWND GetConsoleHwnd(void)
   {   #define MY_BUFSIZE 1024 // Размер буфера для заголовка консольного окна.
       HWND hwndFound;         // Это то, что будет возвращено.
       char pszNewWindowTitle[MY_BUFSIZE]; // Уникальный заголовок окна.
       char pszOldWindowTitle[MY_BUFSIZE]; // Изначальный заголовок окна.
 
       // Выбираем текущий заголовок окна.
       GetConsoleTitle((LPWSTR)pszOldWindowTitle, MY_BUFSIZE);
 
       // Формируем "уникальный" NewWindowTitle.
       wsprintf((LPWSTR)pszNewWindowTitle,(LPWSTR)"%d/%d",GetTickCount(),
                   GetCurrentProcessId());
 
       // Изменяем текущий заголовок окна.
       SetConsoleTitle((LPWSTR)pszNewWindowTitle);
 
       // даём время заголовку, чтобы измениться.
       Sleep(40);
 
      // Ищем NewWindowTitle.
       hwndFound=FindWindow(NULL, (LPWSTR)pszNewWindowTitle);
 
       // Восстанавливаем изначальный заголовок окна.
       SetConsoleTitle((LPWSTR)pszOldWindowTitle);
 
       return(hwndFound);
   }  
 
      int main()
      {
    HWND hcon = GetConsoleHwnd();
    MoveWindow(hcon,1,1,500,500,TRUE);
    std::cout<<"I like to move it, move it!!!\n";
      return 0;
      }
На выходе - симпатичное квадратное 500х500 окно в верхнем левом углу.
1
Maniac
Эксперт С++
 Аватар для ISergey
1464 / 965 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 1
09.03.2011, 23:42
Цитата Сообщение от IrineK Посмотреть сообщение
У меня GetConsoleWindow() не находится, хотя своими глазами его вижу в wincon.h.
А ошибку то какую пишет.. Может вы просто забыли *.lib подключить какой то...
0
 Аватар для IrineK
2023 / 1641 / 425
Регистрация: 23.02.2011
Сообщений: 6,002
Записей в блоге: 25
09.03.2011, 23:47
Либы проверила: kernel, user32 - есть.
Может проблема, что старенький MSVS (2005) и где-то баг не убран.
На другом компе стоит MSVS 2010. Проверю. Только завтра.
0
Brainsbreaker
 Аватар для Digit@ll
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
09.03.2011, 23:51
Цитата Сообщение от ISergey Посмотреть сообщение
А ошибку то какую пишет...
error C2065: 'GetConsoleWindow' : undeclared identifier
0
 Аватар для IrineK
2023 / 1641 / 425
Регистрация: 23.02.2011
Сообщений: 6,002
Записей в блоге: 25
10.03.2011, 00:07
Digit@ll, интересно, а у вас какой компилятор?
0
Brainsbreaker
 Аватар для Digit@ll
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
10.03.2011, 01:18
Проверял на шестерке.
0
 Аватар для IrineK
2023 / 1641 / 425
Регистрация: 23.02.2011
Сообщений: 6,002
Записей в блоге: 25
10.03.2011, 16:41
На MSVS2005 заработала такая последовательность:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#if       _WIN32_WINNT < 0x0500
  #undef  _WIN32_WINNT
  #define _WIN32_WINNT   0x0500 // Можно и выше, я меня SP2 - поставила 0x0502
#endif
#include <windows.h>
#include <iostream>
 
int main()
      {
        HWND hcon = GetConsoleWindow();
        MoveWindow(hcon,1,1,500,500,TRUE);
        std::cout<<"I like to move it, move it!!!\n";
        return 0;
      }
Работает.

Добавлено через 13 часов 31 минуту
Может кто-то знающий объяснит разницу между:
C++
1
2
#define _WIN32_WINNT 0x0500
#include <windows.h>
и
C++
1
2
3
4
5
#if       _WIN32_WINNT < 0x0500
  #undef  _WIN32_WINNT
  #define _WIN32_WINNT   0x0500 
#endif
#include <windows.h>
Почему первое не выполняется?
0
101 / 88 / 7
Регистрация: 17.12.2010
Сообщений: 416
10.03.2011, 17:12
а у меня и первое работает. и mingw. и vs2008.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.03.2011, 17:12
Помогаю со студенческими работами здесь

Запись информации в определенное место файла
Добрый вечер форумчане! Необходим ваш совет. Нужно реализовать возможность записи информации в любое место файла. То есть пользователь...

В определенное место строки вставить значение переменной
Друзья объясните такую штуку. На PHP это выглядит так.. $stroka = &quot;Kapital=evro&quot;; $a = 1000; $stroka =&quot;Kapital =$a evro&quot; ...

Подскажите функции, которые вставляют подстроку в определенное место файла
Помогите пожалуйста, необходимо подключится к файл на диске с исходным кодом на pascal и заменить там одну переменную (программно). Файл я...

При любом изменении указанного файла копировать его в определённое место
Здравствуйте, я вообще не разбираюсь в языках программирования. История такая: У меня есть программа приватная, она инжектит dll в...

Произвести ввод в определенное место
Здравствуйте! У меня такая проблема: пишу программку на pascalABC.net в которой нужно производить ввод данных с клавиатуры из указанного...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru