Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.91/33: Рейтинг темы: голосов - 33, средняя оценка - 4.91
3 / 3 / 2
Регистрация: 04.12.2011
Сообщений: 76

Полноэкранное приложение и масштабирование Image

22.12.2011, 21:41. Показов 7122. Ответов 44
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Можно ли сделать форму vcl form application полноэкранной?
и примерный код если не сложно пожалуста
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.12.2011, 21:41
Ответы с готовыми решениями:

Полноэкранное консольное приложение
Здравствуйте! Вопрос состоим в следующем: как запустить консольное приложение в полноэкранном режиме? Есть ли какая-то функция для...

Создать полноэкранное приложение
Привет, как сделать штобы форма была во весь єран и панель пуск скрывала ну типа как игра...

Создать полноэкранное приложение
Добрый вечер, подскажите как создать форму, чтобы она закрывала весь экран вместе с панелью задач. И как создать приложение чтобы оно...

44
 Аватар для QWIPQ
144 / 123 / 14
Регистрация: 10.10.2011
Сообщений: 366
Записей в блоге: 2
22.12.2011, 23:11
Студворк — интернет-сервис помощи студентам
по идее все что ты нарисовал какой-то функцией на канве должно было наложиться на рисунок и с ним сохраниться... хм...
1
3 / 3 / 2
Регистрация: 04.12.2011
Сообщений: 76
22.12.2011, 23:28  [ТС]
Цитата Сообщение от QWIPQ Посмотреть сообщение
по идее все что ты нарисовал какой-то функцией на канве должно было наложиться на рисунок и с ним сохраниться... хм...
сорь я тупанул.... дада он сохранился... кажется это решает мою задачу ... спасибо!

Добавлено через 6 минут
блин вот а попроще бы... как бы сделать это тока несохраняя в файл... а то как то туповато мне кажется
Image1->Picture->SaveToFile("123.bmp");
Image1->Picture->LoadFromFile("123.bmp");
и после этого работает
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
22.12.2011, 23:44
почитайте про TMemoryStream ...
C++
1
Image1->Picture->Bitmap->SaveToStream(ms);
и пользуйте без сохранения в файл
C++
1
Image1->Picture->Bitmap->LoadFromStream(ms);
.
1
3 / 3 / 2
Регистрация: 04.12.2011
Сообщений: 76
23.12.2011, 00:02  [ТС]
можно тогда ещё вопрос.... как вставлять изображение в Image1->Picture с заданными коордионатами x,y ?

и не знаете случайно, почему при ходе работы программы когда у меня на канве имейджа рисуется что нибудь то имейдж почему то может мерцать?
как это можно было бы исправить?
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
23.12.2011, 00:16
1. Копия картинки
C++
1
Image1->Canvas->Draw(x,y,bitmap); //копируем рисунок на Image
2.
C++
1
Form1->DoubleBuffered = true;
Можно в Инспекторе объектов.
1
 Аватар для QWIPQ
144 / 123 / 14
Регистрация: 10.10.2011
Сообщений: 366
Записей в блоге: 2
23.12.2011, 00:21
мерцает - обновление и всего-то... так происходит например когда используешь Refresh(), у тебя эт прорисовка
0
3 / 3 / 2
Регистрация: 04.12.2011
Сообщений: 76
23.12.2011, 00:31  [ТС]
Цитата Сообщение от QWIPQ Посмотреть сообщение
мерцает - обновление и всего-то... так происходит например когда используешь Refresh(), у тебя эт прорисовка
ну я понял, а как это убрать? я ведь меняю только кусочками канву на имейдже
0
 Аватар для QWIPQ
144 / 123 / 14
Регистрация: 10.10.2011
Сообщений: 366
Записей в блоге: 2
23.12.2011, 00:38
если ты хочешь посмотреть что изменилось допустим в этой теме и дали тебе ответ на твой вопрос ты что делаешь? нажимаешь F5 или обновить... чтоб обновилась инфа нужная тебе, тут такой же принцип... он может и нарисует тебе, но без обновления ты эт не увидишь... и это встроено в методы прорисовки... понял?

проще говоря эт нужно
1
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
23.12.2011, 00:41
не понятно, какое собітие используется, в общем, рисовать гламурно в OnPaint, также можно на время ваших махинаций с рисованием запретить, а после - разрешить перерисовку формы/контрола:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
// запретить
SendMessage(Control->Handle,WM_SETREDRAW,0,0);
// махинации...
// разрешить
SendMessage(Control->Handle,WM_SETREDRAW, 1, 0);
RedrawWindow(Control->Handle,
             NULL,
             0,
             RDW_ERASE|
             RDW_FRAME|
             RDW_INVALIDATE|
             RDW_ALLCHILDREN)
;
0
3 / 3 / 2
Регистрация: 04.12.2011
Сообщений: 76
23.12.2011, 00:49  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
не понятно, какое собітие используется, в общем, рисовать гламурно в OnPaint, также можно на время ваших махинаций с рисованием запретить, а после - разрешить перерисовку формы/контрола:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
// запретить
SendMessage(Control->Handle,WM_SETREDRAW,0,0);
// махинации...
// разрешить
SendMessage(Control->Handle,WM_SETREDRAW, 1, 0);
RedrawWindow(Control->Handle,
             NULL,
             0,
             RDW_ERASE|
             RDW_FRAME|
             RDW_INVALIDATE|
             RDW_ALLCHILDREN)
;
не работает
на Control ругается
Undefined symbol 'Control'
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
23.12.2011, 00:59
все работает, если не отключать мозги
естественно, там должен быть нужный вам контрол, например,
C++
1
Form1->Handle
или
C++
1
Image1->Handle
- отвыкайте от негламурного копипейста
2
 Аватар для QWIPQ
144 / 123 / 14
Регистрация: 10.10.2011
Сообщений: 366
Записей в блоге: 2
23.12.2011, 01:06
Цитата Сообщение от LK Посмотреть сообщение
было очень неприличное слово ))
даж плюшку поставлю)))) сам думал уже над этим)))
1
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
23.12.2011, 01:09
плюшки - это хорошо )))
0
3 / 3 / 2
Регистрация: 04.12.2011
Сообщений: 76
23.12.2011, 01:24  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
все работает, если не отключать мозги
естественно, там должен быть нужный вам контрол, например,
C++
1
Form1->Handle
или
C++
1
Image1->Handle
- отвыкайте от негламурного копипейста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
  HWND retrf;
  retrf=GetForegroundWindow();
  SendMessage(retrf,WM_SETREDRAW,0,0);
  Image2->Canvas->Draw(x*15,y*15,F);
  Image2->Canvas->Draw(x*15,y*15,BIT);
  SendMessage(retrf,WM_SETREDRAW,1,0);
  RedrawWindow(retrf,
               NULL,
               0,
               RDW_ERASE|
               RDW_FRAME|
               RDW_INVALIDATE|
               RDW_ALLCHILDREN);
ну вот как бы
только всёравно мерцает
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
23.12.2011, 01:46
при чем здесь GetForegroundWindow();?
C++
1
 retrf=ВашаФормаИлиКонтрол->Handle;
чем плохо ?
0
3 / 3 / 2
Регистрация: 04.12.2011
Сообщений: 76
23.12.2011, 19:18  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
при чем здесь GetForegroundWindow();?
C++
1
 retrf=ВашаФормаИлиКонтрол->Handle;
чем плохо ?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
HWND retrf;
retrf=Form2->Handle;
SendMessage(retrf,WM_SETREDRAW,0,0);
  Image2->Canvas->Draw(x*15,y*15,F);
  y--;
  Image2->Canvas->Draw(x*15,y*15,BIT);
  SendMessage(retrf,WM_SETREDRAW, 1, 0);
  RedrawWindow(retrf,
                     NULL,
                     0,
                     RDW_ERASE|
                     RDW_FRAME|
                     RDW_INVALIDATE|
                     RDW_ALLCHILDREN);
всё равно мерцает

Добавлено через 1 час 51 минуту
Цитата Сообщение от LK Посмотреть сообщение
2.
C++
1
Form1->DoubleBuffered = true;
Можно в Инспекторе объектов.
о вот это помогло спасибо

Добавлено через 15 минут
а можно вывести на имейдж изображение сразу в масштабированом варианте?

Добавлено через 5 часов 17 минут
хелп!! проблема не решена
можно выводить изображение на имейдж кусками и сразу же масштабировать его?
0
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
23.12.2011, 19:54
Цитата Сообщение от fghjk Посмотреть сообщение
а можно вывести на имейдж изображение сразу в масштабированом варианте?
Добавлено через 5 часов 17 минут
хелп!! проблема не решена
можно выводить изображение на имейдж кусками и сразу же масштабировать его?
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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
Graphics::TBitmap *b;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
   Image1->Canvas->StretchDraw(RECT(0,0,Image1->Width,Image1->Height),b);
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::FormCreate(TObject *Sender)
{
 *b=new Graphics::TBitmap;
 b->Width=800;
 b->Height=640;
}
//---------------------------------------------------------------------------
И соотсветственно у формы:
C++
1
2
BorderStyle = bsNone;
WindowState = wsMaximized;
и компонента Image1:
C++
1
Image1->Align = alClient;
1
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
23.12.2011, 20:20
fghjk, вам довольно хорошо все разжевали - масштабируете bitmap , и уже сам bitmap выводите в Image.

Судя по этому вопросу, и по этому:
Цитата Сообщение от fghjk Посмотреть сообщение
C++
1
Form1->DoubleBuffered = true;
о вот это помогло
- вы просто не читаете ответы на свои вопросы в своей же теме, так что отвечать вам как бы и смысла нет.
0
3 / 3 / 2
Регистрация: 04.12.2011
Сообщений: 76
23.12.2011, 22:17  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
Судя по этому вопросу, и по этому:- вы просто не читаете ответы на свои вопросы в своей же теме, так что отвечать вам как бы и смысла нет.
невнимательность
ну я же патом увидел это

Добавлено через 18 минут
немного не понял... вот через это только масштабировать
C++
1
Image1->Canvas->StretchDraw(RECT(указать масштаб),b);
а если я хочу вывести в какуюто определённую область? как вот например
C++
1
Image2->Canvas->Draw(коордионаты,b);
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
23.12.2011, 22:24
как вы думаете, для чего там два первых нолика?
C++
1
StretchDraw(RECT(0,0,...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.12.2011, 22:24

Как создать полноэкранное приложение
я написал для друга (ну попугать) так лёгкую пугалку, но её легко снять можно ли сделать так чтобы программа была на весь экран и без...

Как создать полноэкранное приложение?
Как создать полноэкранное приложение? Т.е когда нажимаешь на ярлык приложения открывается во весь экран. К примеру если открыть калькулятор...

Как создать полноэкранное приложение?
Как создать полноэкранное приложение,и как изменить курсор на собственный?

Как создать полноэкранное приложение
Здравствуйте Я столкнулся с очередной проблемой на пути создания своей программы. Возможно многие из Вас видели такую функцию как...

Программа, накладывающее изображение на полноэкранное приложение
Нужна программа, накладывающее изображение на полноэкранное приложение (в моём случае, игру). Видел кучу безполезных программ наподобие...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
сукцессия 6. Питон реализация энилоджиковской модели, картинка про Центральную часть будущей модели
anaschu 26.06.2026
Етить. ИИ мне на основе моего старого файла R создал вот эту вот хмерь на пайтоне. Это уже новая модель, модель сукцессии грибной. потоки фосфора, азота. Углерода. 5 видов организмов. Я даже. . .
Как замкнутый ядерный цикл решит проблему недостатки фосфора? Био миграция фосфора со дна океана
anaschu 26.06.2026
Биологический лифт: Концепция подъема фосфора со дна океана с помощью ЗЯТЦ Предлагаю на обсуждение альтернативу тяжелому промышленному бурению океанического дна. Вместо сложной инженерии мы можем. . .
сукцессия 5
anaschu 26.06.2026
ПЛАН РАЗРАБОТКИ математической модели сукцессии микоризных систем Переход AM → EcM (Endo + ErM) · Шумилов А. С. · ИФХиБПП РАН · Пущино · 2026 . . .
сукцессия 4
anaschu 25.06.2026
Более детализированный план разработки План доработки модели динамики микоризных симбиозов (EcM с гистерезисом) Цель: Реализовать логику переключения между эрикоидным (ErM) и эктомикоризным. . .
сукцессия 3
anaschu 25.06.2026
Примерный план работ по модели
сукцессия 2
anaschu 25.06.2026
параметризировочная калибровочная таблица будущей модели
Многофункциональное здание: как одно здание порождает конфликты требований, которые никто не планировал (мат мет мод 29)
anaschu 23.06.2026
Многофункциональное здание: как одно здание порождает конфликты требований, которые никто не планировал Материалы для обсуждения с МГСУ · 2026 Рисунки внутри приложенного ворд файла. Что за. . .
28. Конкретное развертывание плана номер 1 из поста номер 27
anaschu 22.06.2026
Можно ли из модели получить конкретные строительные требования? Честно — напрямую из текущей модели такие ответы не получить. Но цепочка логики есть, и она не такая длинная. Где разрыв . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru