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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.65
Игорь с++
434 / 457 / 16
Регистрация: 26.01.2011
Сообщений: 2,032
#1

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

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

Здравствуйте господа програмисты!я пишу на dev c++ для "dos" и столкнулся с такой проблемой- как сделать так,что бы dos-овское окно появлялось в определённом месте?вообще возможно ли это,если да то можно посмотреть элементарный текст программы с определённым местом окна!?
Заранее всем огромное спасибо!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2011, 21:23     Определённое место окна
Посмотрите здесь:

Записать на место отрицательных элементов матрицы нули, а на место положительных – единицы. - C++
Дана квадратная матрица A. Записать на место отрицательных элементов матрицы нули, а на место положительных – единицы.

Записать на место отрицательных элементов матрицы нули ,а на место положительных единицу - C++
Дана квадратная матрица A. Записать на место отрицательных элементов матрицы нули ,а на место положительных единицу. Вывести на на печать...

Записать на место отрицательных элементов матрицы нули, а на место положительных – единицы - C++
Помогите решить,в с++!!!D(10,10) Записать на место отрицательных элементов матрицы нули, а на место положительных – единицы. Вывести...

Записать на место отрицательных элементов матрицы нули, а на место положительных единицу - C++
Дана квадратная матрица A. Записать на место отрицательных элементов матрицы нули ,а на место положительных единицу. Вывести на на печать...

Отрисовка за определённое время - C++
Всем доброго времени суток! Такой вопрос беспокоит - как сделать отрисовку кругов с определённой периодичностью, используя chrono? К...

Запуск другой программы через определённое время - C++
Всем привет, незнаю где напмсать!Мне нужно что бы программа на с ++ запускала через определённое время другую прогу типа .ехе как это...

Скорочтение (как задержать консольное окно на определённое время?) - C++
как задержать консульное окно на определёное время?

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Somebody
2786 / 1600 / 145
Регистрация: 03.12.2007
Сообщений: 4,190
Завершенные тесты: 1
09.03.2011, 22:27     Определённое место окна #2
Если имелась в виду консольная прога под 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();
}
Игорь с++
434 / 457 / 16
Регистрация: 26.01.2011
Сообщений: 2,032
09.03.2011, 22:57  [ТС]     Определённое место окна #3
спасибо вам огромное!!!
IrineK
Заблокирован
09.03.2011, 23:39     Определённое место окна #4
Несмотря на
#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 окно в верхнем левом углу.
ISergey
Maniac
Эксперт С++
1373 / 884 / 52
Регистрация: 02.01.2009
Сообщений: 2,653
Записей в блоге: 1
09.03.2011, 23:42     Определённое место окна #5
Цитата Сообщение от IrineK Посмотреть сообщение
У меня GetConsoleWindow() не находится, хотя своими глазами его вижу в wincon.h.
А ошибку то какую пишет.. Может вы просто забыли *.lib подключить какой то...
IrineK
Заблокирован
09.03.2011, 23:47     Определённое место окна #6
Либы проверила: kernel, user32 - есть.
Может проблема, что старенький MSVS (2005) и где-то баг не убран.
На другом компе стоит MSVS 2010. Проверю. Только завтра.
Digit@ll
Brainsbreaker
881 / 359 / 30
Регистрация: 01.02.2011
Сообщений: 1,572
09.03.2011, 23:51     Определённое место окна #7
Цитата Сообщение от ISergey Посмотреть сообщение
А ошибку то какую пишет...
error C2065: 'GetConsoleWindow' : undeclared identifier
IrineK
Заблокирован
10.03.2011, 00:07     Определённое место окна #8
Digit@ll, интересно, а у вас какой компилятор?
Digit@ll
Brainsbreaker
881 / 359 / 30
Регистрация: 01.02.2011
Сообщений: 1,572
10.03.2011, 01:18     Определённое место окна #9
Проверял на шестерке.
IrineK
Заблокирован
10.03.2011, 16:41     Определённое место окна #10
На 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>
Почему первое не выполняется?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.03.2011, 17:12     Определённое место окна
Еще ссылки по теме:

Вставляет заданное число у отсортированы массив определённое количество раз - C++
Ну есть набросок только оно там заполняет свободные ячейки массива бредом помогите долблюсь с заданием уже 3 часа И пожалуйста только не...

Как написать программе выполнять определённое действие (функцию) перед закрытием? - C++
В общем, как я раньше и говорил, я работаю над программой. Очень быстрой. Слегка подкорректировав код программы я сумел увеличить...

Выяснить, делится ли определённое четырёхзначное число на ряд чисел без остатка - C++
Есть такая тема. Нужно вычислить делится ли определённое четырёхзначное число на ряд чисел. Причём нацело, т.е. без остатка. Если делится...

Место объявления функции - C++
Не могу сообразить, как определить такой конструктор в структуре(классе) struct Sales_data { string bookNo; unsigned units_sold =...

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


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

Или воспользуйтесь поиском по форуму:
no0ker
101 / 88 / 4
Регистрация: 17.12.2010
Сообщений: 416
10.03.2011, 17:12     Определённое место окна #11
а у меня и первое работает. и mingw. и vs2008.
Yandex
Объявления
10.03.2011, 17:12     Определённое место окна
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru