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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
yurka17
0 / 0 / 0
Регистрация: 12.10.2009
Сообщений: 49
#1

Как сделать перерисовку окна при изменении горизонтального размера - C++

13.09.2012, 13:01. Просмотров 1862. Ответов 5
Метки нет (Все метки)

вобщем задача написать оконное приложение на с++ как сделать так чтобы окно появлялось по центру экрана есть какие то функции или в пикселях выставлять нужно ? и как сделать перерисовку окна при изменении горизонтального размера.
всем спасибо
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.09.2012, 13:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как сделать перерисовку окна при изменении горизонтального размера (C++):

Почему при изменении размера окна не меняется цвет заполнения? - C++
Почему при изменении размера окна не меняется цвет заполнения?:no: ... case WM_PAINT: ... ... ...

Как сделать автоматическое копирование данных при их изменении? - C++
Я не люблю C++, но вынужден программировать на нем. До этого я пользовался языком, в котором нет многих проблем (или возможностей, смотря с...

Как сделать так чтобы при изменении одной переменной изменялась другая? - C++
Как сделать так чтобы при изменении одной переменной изменялась другая?

Double free or corruption при изменении размера динамического массива - C++
Сразу скажу, что у меня задание на работу с памятью, и std::vector по условию использовать запрещено. #include <iostream> #include...

Выравнивание компонентов при изменении размеров главного окна - C++
Посоветуйте, как лучше создавать интерфейс пользователя, чтобы при изменении размеров главного окна, в нем выравнивали свои позиции...

Необработанное исключение при изменение размера окна - C++
Если долго менять размер у окна, то минут через 5 вылезет необработанное исключение, окно зависает и превращается во что то непонятное. ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
voral
445 / 426 / 64
Регистрация: 16.03.2008
Сообщений: 2,096
13.09.2012, 13:10 #2
в с++ вообще нет ни чего для работы с окнами.

Поэтому конкретизируйте вопрос: ОС и какие библиотеки желаете использовать (хотябы на уровне ответов: VisualStudio, Borland C++, Qt, Gtk++, WinAPI)
0
yurka17
0 / 0 / 0
Регистрация: 12.10.2009
Сообщений: 49
13.09.2012, 13:24  [ТС] #3
Цитата Сообщение от voral Посмотреть сообщение
в с++ вообще нет ни чего для работы с окнами.

Поэтому конкретизируйте вопрос: ОС и какие библиотеки желаете использовать (хотябы на уровне ответов: VisualStudio, Borland C++, Qt, Gtk++, WinAPI)
сиправляюсь =) с использованием WinAPI

Добавлено через 5 минут
вот кусок кода
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
hwnd = CreateWindow(
  yurka17,  // название класса окна
    "Лабораторная работа №1", // заголовок окна
    WS_OVERLAPPEDWINDOW, // стиль окна
    300,  // Позиция окна
    300,  /* позиция по y*/
    400,  // ширина в пикселях
    250,  // высота
    NULL,   // родительского окна не существует
    NULL,   // меню отсутствует
    hInstance,  // описатель экземпляра программы
    NULL);
  ShowWindow(hwnd, SW_SHOWMINIMIZED); /* показываем окно на экране свернутым*/
0
voral
445 / 426 / 64
Регистрация: 16.03.2008
Сообщений: 2,096
13.09.2012, 13:25 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Даже набирать не пришлось - гуглом проще воспользоваться
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
const int w = 660, h = 282;
int x = (GetSystemMetrics(SM_CXSCREEN) - w) / 2;
int y = (GetSystemMetrics(SM_CYSCREEN) - h) / 2;
hMainWnd = CreateWindowEx(
        0x00000100, 
        WND_CLASS_NAME0, 
        "Caption", 
        WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU,
        x, y, w, h, 
        NULL, 
        NULL, 
        g_hInstance, 
        NULL
    );
1
yurka17
0 / 0 / 0
Регистрация: 12.10.2009
Сообщений: 49
13.09.2012, 13:33  [ТС] #5
я быстрее допер) но все равно спасибо а с перерисовкой как быть ?)
0
Игорь с++
436 / 459 / 16
Регистрация: 26.01.2011
Сообщений: 2,032
13.09.2012, 18:20 #6
Цитата Сообщение от yurka17 Посмотреть сообщение
а с перерисовкой как быть ?)
case WM_SIZE в помощь.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.09.2012, 18:20
Привет! Вот еще темы с ответами:

Настройка размера окна при открытии программы (main(), не WinMain() - C++
Доброго времени суток, форумчане! Во первых, хочу вас всех поблагодарить за помощь, благодаря вам я написал свою первую серьёзную...

Как сделать так чтобы при развертывании окна во весь экран все объекты на форме размещались по ней равномерно? - C++
Подскажите как сделать так чтобы при развертывании окна во весь экран все объекты на форме размещались по ней равномерно, а не в одной...

Как отменить перерисовку на время работы функции TreeView_DeleteAllItems? - C++
как отправить окну сообщение не перерисовываться?

Как запретить сворачивание окна приложения при нажатии кнопки "свернуть все окна" - C++
Что происходит при нажатии этой кнопки в плане сообщениий, и как их перехватить и игнорировать,что бы окно не сворачивалось? Чем это...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
13.09.2012, 18:20
Ответ Создать тему
Опции темы

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