Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Builder Передать созданному компоненту указатель на другой компонент на форме https://www.cyberforum.ru/ cpp-builder/ thread958495.html
Создаю компонент, который будет принимать DataSource и с ним работать. Создал свойство, которое передает указатель на DataSource в компонент. вопрос: как мне присвоить мой указатель(созданный в компоненте) указателю на DataSource? короче говоря: как получить доступ с созданного компонента к компоненту, который будет на форме? Добавлено через 21 минуту Подозреваю, что нужно как-то это...
C++ Builder Комментирование с клавиатуры
Вопрос простой - каким набором клавиш можно комментить код? То есть, выделил, нажал и он закомментин? :)
C++ Builder Поскажите как правильно присвоить значение из Memo в массив https://www.cyberforum.ru/ cpp-builder/ thread958449.html
int i,j,n,x; float A={1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10}; float B; for (j=0;j<=9;j++) B=0; Memo2->Lines->LoadFromFile("a.txt"); //B=StrToFloat(Memo2->Lines); ----- ????? n=StrToInt(Edit1->Text); x=StrToInt(Edit2->Text); for (j=0;j<=9;j++)
C++ Builder Динамически созданный лейбл - не хочет поменять цвет! https://www.cyberforum.ru/ cpp-builder/ thread958149.html
Всем привет! целый день бьюсь , и сейчас зашел в тупик . есть картинка (карта местности) на ней мне надо накидать лейблы с текстом красного цвета. создаю динамический лейбл : TLabel * Number = new TLabel (Karta_rajona); // NULL Number->Parent = Karta_rajona->Parent; // Number->ParentFont = true; //? // Number->ParentColor= true; Number->AutoSize = true;
передача изображения C++ Builder
Подскажите пожалуйста как под средствами TcpServer1 и TcpClient1 передать изображение мне я знаю как их соеденинять знаю как передавать текст а изображение нет!!!
C++ Builder Перевод кода нажатой клавиши в текст https://www.cyberforum.ru/ cpp-builder/ thread957907.html
Пишу клавиатурный логер записывает нажатые клавиши в текстовый файл. Есть функция short GetSymbolFromVK(WPARAM wParam) // переводит код нажатой клавиши в текст { BYTE btKeyState; HWND Hand= GetForegroundWindow();
C++ Builder ShowMessage в OnCreate https://www.cyberforum.ru/ cpp-builder/ thread957691.html
Подскажите пожалуйста, что не так, когда использую ShowMessage() в DataModuleCreate или в FormCreate, она нормально срабатывает, но перед ней постоянно вылетает ещё и ошибка какая-то, если юзаю в OnShow, то всё нормально. Работаю в C++ Builder XE4, в C++ Builder 6 такого не было.
C++ Builder В чем ошибка?
начал учить си++ и тут такое после того ка написал Image1->Canvas->Brush->Color = clWhite; Image1->Canvas->FloodFill(8,7,clWhite,fsSurface) ;
C++ Builder Скрытый идентификатор для сроки listbox и combobox Можно ли добавляя строку добавить ей int индификатор (скрытый для пользователя)? то есть, что бы при добавлении, к индексу привязывался мой номер этого элемента. (не itemindex строки, а мой индекс) https://www.cyberforum.ru/ cpp-builder/ thread957350.html C++ Builder Смещешие алфавита билдер 6 https://www.cyberforum.ru/ cpp-builder/ thread957237.html
надо сместить на определённое количество символов алфавит делаю так: void __fastcall TForm1::Button1Click(TObject *Sender) { key=StrToInt(Edit3->Text); for(int i=0; i<n; i++) { offset=alfavit; } Edit4->Text=AnsiString(offset);
C++ Builder с++ webbrowser second resquest
Приветствую. Использую RAD x3. Имеетcя Wеbbrowser, который вызывается при помощи метода: int TForm1::webbrowse(String HTMLString) { Variant v; IHTMLDocument2 *HTMLDoc = NULL; WebBrowser1->Navigate("about:blank");
C++ Builder Builder простая програма..а не работает(( //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Time.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" https://www.cyberforum.ru/ cpp-builder/ thread957228.html
Почетный модератор
Эксперт С++
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
26.09.2013, 10:52  [ТС] 0

Различие рамеров элементов в формах приложений у Windows XP и 7 - C++ Builder - Ответ 5101580

26.09.2013, 10:52. Показов 1822. Ответов 7
Метки (Все метки)

Лучший ответ Сообщение было отмечено как решение

Решение

Итак.
Частный случай лечения:
свойству формы PixelsPerInch, по умолчанию равному 96, надо присвоить значение 120.

Спасибо славному UI, он был прав - дело в шрифтах. Много чего интересного представлено по той ссылке, но в основном все рекомендации сводятся к просто установке свойства Scaled в false. И предлагается это как панацея. Но приводит это к следующим последствиям:
Различие рамеров элементов в формах приложений у Windows XP и 7

Утолщение справа и снизу. Но все якоря, и прочие привязки отрабатывают корректно.
По этому лучше оставить Scaled в true и баловаться с PixelsPerInch.

Как это работает и зачем:
Свойство PixelsPerInch отвечает за количество пикселей в одном дюйме экрана. И при чем того экрана, на котором велась компоновка графического интерфейса. Как следствие, для аналогичного отображения масштабов компонентов при других параметрах другого монитора (на одном мониторе сколько разрешение не меняй - количество пикселей на дюйм не изменится)(а так же еще кстати может и совпасть, то есть у одного монитора относительно второго будет диагональ больше, а количество точек на дюйм меньше. И получится что на них будет работать одинаково корректно), нужно в конструктор формы вводить специальную функцию, определяющую параметры монитора, на котором запущена программа, и вычисляющая из этого требуемый коэффициент поправки.
При этом важно понимать отличие количества точек на дюйм и количества пикселей на дюйм. Пикселей в конкретном мониторе всегда одинаковое количество, а точек - в зависимости от разрешения (одна точка - группа пикселей).
Пример функции для конструктора:
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
void __fastcall TForm1::FormCreate(TObject *Sender)
{
//эта структура будет содержать разрешение экрана на системе
struct res{float x,y;}res;
 
/*здесь будет хранится коэфицент, показывающий во сколько раз
текущее разрешение больше исходного*/
struct factor{float x,y;}factor;
 
//считать текущее разрешение
res.x=Screen->Width;
res.y=Screen->Height;
 
//вычислить коэфицент. Если программа пишется при другом разрешении,
//то нужно только подставить его вместо 1024 и 768
factor.x=1024/res.x;
factor.y=768/res.y;
 
int cc=ControlCount-1; //количество объектов на форме
while(cc!=-1) //для каждого объекта выполняем следующие операции
{
Controls[cc]->Left/=factor.x; //правильно располагаем по горизонтали
Controls[cc]->Top/=factor.y; //…по вертикали
Controls[cc]->Width/=factor.x; //растягиваем до нужной ширины
Controls[cc]->Height/=factor.y; //…высоты
cc--;
}
 
//теперь растягиваем саму форму
Form1->Width/=factor.x;
Form1->Height/=factor.y;
 
//изменяем размер шрифтов; не забудьте поставить свойство формы Scaled=true
Form1->PixelsPerInch=Screen->PixelsPerInch;
}


Вернуться к обсуждению:
Различие рамеров элементов в формах приложений у Windows XP и 7 C++ Builder
5
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.09.2013, 10:52
Готовые ответы и решения:

Изменение рамеров прямоугольника
Добрый день. Никак не получается изменить размеры прямоугольника нарисованного на форме по...

Практическое задание (рисование в Windows формах)
Значит дали мне задание практическое: &quot;Дано три стороны треугольника (любые). Нужно определить тип...

Запуск приложений, созданных в visual studio 2012 и windows 7 на компьютерах со старым windows xp!
Может кому понадобится! Запуск приложений, созданных в visual studio 2012 и windows 7 на...

Разработка универсальных приложений для Windows 10 и Магазина Windows
Здравствуйте. У меня проблема, не знаю как решить. Предыстория такова: Разрабатываю приложение C#...

7
26.09.2013, 10:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.09.2013, 10:52
Помогаю со студенческими работами здесь

Как сделать плейлист в windows visual studio 2010, в формах?
Помогите пожалуйста, как сделать плейлист! Что нужно сделать? Плеер готов, музыка выбирается из...

Отключение элементов на формах через RadioButton
Доброго времени суток. Такая задача. Пишу программу с БД для курсовой - есть форма &quot;Окно входа&quot;...

Расположение элементов управления на web формах
Всем привет. Не могу понять это так задумано. Почему я не могу расположить элементы на web форме в...

Создание Windows-приложений
Всем доброго времени суток проблема с Delphi необходимо что бы кто то помог с решением задачи......

Создание Windows-приложений
Помогите пожалуйста :cry: Нужно создать меню с командами Input color, Change, Exit, Help. ...

Создание Windows приложений
Помогите пожалуйста сделать задание!( Общая часть задания:написать Windows-приложение, заголовок...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru