Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
 Аватар для nnnikotinnn995
7 / 7 / 4
Регистрация: 07.07.2011
Сообщений: 583

Как растянуть квадратик в CheckBox (не текст)

24.11.2018, 10:57. Показов 4337. Ответов 15

Студворк — интернет-сервис помощи студентам
Здравствуйте. Сижу в Embarcadero RAD Studio 10.
Подскажите пожалуйста, как увеличить сам квадратик в CheckBox и кружок в RadioButton?
Все перетыкал в инспекторе, в гугле тоже не чего не нашел .
Миниатюры
Как растянуть квадратик в CheckBox (не текст)  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.11.2018, 10:57
Ответы с готовыми решениями:

как растянуть текст новости
здравствуйте помогите мне растянуть текст новости на сайте а также добавление коменратиев поместить в центр заранее спасибо

Как растянуть текст на всю ширину div?
Есть такой код: <div style="background-color: #00FF00; width: 100%; max-width: 800px; text-align: center;"> <p>text</p> </div> ...

Как растянуть текст в подменю(сделать в одну строку)?
Здравствуйте, дорогие форумчане! Признаюсь скопипастил. Помогите сделать текст подменю в одну строку... <body> ...

15
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33376 / 21500 / 8236
Регистрация: 22.10.2011
Сообщений: 36,896
Записей в блоге: 11
24.11.2018, 12:37
Стандартно - никак, размер CheckBox-а строго задан в системе, изменению не подлежит. Хочется поиметь много проблем - рисуй вручную что-то, что похоже на ComboBox...RadioButton-а это тоже касается.
0
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
24.11.2018, 14:48
nnnikotinnn995, или другой варриант.
вместо чекбокса - исползовать спидбутон с картинкой квадрат и при нажатии менять картинку на перечеркнутый квадрат.
а текст справа обычный лейбл.
и никто незаметит разницы.
и для полного еффекта можно добавить событие при наведении мышки на спидбутон - Label->Enabled = true;
и при покидании спидбутона Label->Enabled = false;
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33376 / 21500 / 8236
Регистрация: 22.10.2011
Сообщений: 36,896
Записей в блоге: 11
24.11.2018, 15:16
Цитата Сообщение от lifeforce Посмотреть сообщение
и никто незаметит разницы.
Заметит. Потому что SpeedButton не умеет получать фокус, а CheckBox умеет.
0
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
24.11.2018, 15:20
Цитата Сообщение от volvo Посмотреть сообщение
Потому что SpeedButton не умеет получать фокус
все верно.
или можно просто image вместо SpeedButton и еще более реальный визуален еффект
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33376 / 21500 / 8236
Регистрация: 22.10.2011
Сообщений: 36,896
Записей в блоге: 11
24.11.2018, 15:22
Аналогично. Image тоже не получает фокус. И как ты объяснишь пользователю, который 10 лет работает в Windows, и у него всегда при клике на чекбокс фокус уходил с предыдущего активного компонента на этот самый чекбокс, что теперь ничего не меняется, и активный компонент остается прежним. Про возможность переходить по компонентам Tab-ом и переключать состояние пробелом я вообще не упоминаю
0
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
24.11.2018, 15:27
volvo, MouseEnter нету?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33376 / 21500 / 8236
Регистрация: 22.10.2011
Сообщений: 36,896
Записей в блоге: 11
24.11.2018, 15:32
При чем тут MouseEnter? Даже если есть, внимательно перечитай то, что написано выше. Как ФОКУС поставить на этот Image, чтобы он обвелся рамкой, и по пробелу стал менять значения (а не нажал бы на кнопку, если текущий активный компонент - кнопка, и не добавил бы пробел в поле ввода, если активный компонент - поле ввода), если у тебя на форме 10 штук таких "псевдочекбоксов"? Как заставить работать табуляцию между этими "псевдочекбоксами"?
0
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
24.11.2018, 15:41
можно оставить тот самый чекбокс , и на место окошка чека поставить картинку (увеличенный чек квадратик) и при получении фокуса(тажа табуляция и пробел работает) на чекбоксе менять на картинку с фокусом, и при клике менять статус чекбкса и соответно и картинку.
практически надо в имаджлисте держать 4 -ре картинки. и менять их по состоянию чекбокса.
и при клике на картинку проверять состояние чека и менять на соответную.

много можно придумать и осуществить. если есть фатазия.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33376 / 21500 / 8236
Регистрация: 22.10.2011
Сообщений: 36,896
Записей в блоге: 11
24.11.2018, 15:47
Во... А теперь - самое интересное: поставить на место окошка чека (оконный компонент, если что, да?) увеличенное изображение (компонент графический, да?) - по-твоему это так просто? Так вот, не хочется тебя огорчать, но оконный компонент ВСЕГДА будет выше графического, потому что графический рисуется на канве родителя, а оконный - на своей собственной. Так что облом с этим "быстренько кинуть изображение поверх CheckBox-а и сделать вид, что так и было"

Добавлено через 2 минуты
Цитата Сообщение от lifeforce Посмотреть сообщение
много можно придумать и осуществить. если есть фатазия
Это "много" элементарно отсекается логикой. Остается только вариант с ручной отрисовкой. Фактически - реализация своего компонента CheckBox, в которой ты укопаешься в сообщениях, ибо их в Windows толпы. И все надо обработать, потому что обязательно попадется пользователь, которому нужна будет именно та фича, которую ты для облегчения работы посчитаешь редкой и не реализуешь...
0
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
24.11.2018, 15:54
Лады.
если сегодня будет возможность , засесть дома за комп.
попробую.
0
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
24.11.2018, 16:10
nnnikotinnn995, создайте проект на FMX, кладите на форму чекбокс, в инспекторе объектов раскройте свойство Scale и поставьте для значений X и Y коэффициент масштаба (например, 1,5). Чекбокс станет больше. Его вид станет не очень
0
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
24.11.2018, 20:52
вот результат.

панель на чекбокс.
бордер стиль bsSingle
Ctl3D false
Image1 и Image2 накладываются один на другой.
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
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
Image2->Visible = false;
Label1->Caption=BoolToStr(CheckBox2->Checked);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::CheckBox2Click(TObject *Sender)// и для image1
{
if(CheckBox2->Checked)
    Image2->Visible = true;
  else
    Image2->Visible = false;
 Label1->Caption=BoolToStr(CheckBox2->Checked);
}
//---------------------------------------------------------------------------
Вложения
Тип файла: rar Project1.rar (912.7 Кб, 8 просмотров)
2
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
24.11.2018, 21:12
немного можно поиграть с визуализацией до достижения максимального еффекта.

Image1 можно не ставить. только Image2 с картинкой чека.
Panel цвет фона белый
0
 Аватар для nnnikotinnn995
7 / 7 / 4
Регистрация: 07.07.2011
Сообщений: 583
25.11.2018, 10:00  [ТС]
Спасибо, попробую.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33376 / 21500 / 8236
Регистрация: 22.10.2011
Сообщений: 36,896
Записей в блоге: 11
25.11.2018, 13:34
Есть гораздо более интересная идея, лишенная недостатков предыдущего варианта. А недостатки у него есть. Скажем, если попробовать заменить тему оформления, то придется потом менять и картинки на форме, чтобы они совпадали с текущей темой оформления, иначе стиль будет выбиваться.

Что предлагаю я: не привязываться к какому-то жестко заданному изображению пустого/заполненного чекбокса, а получать после клика изображение этого самого чекбокса (скажем, через PaintTo рисовать его на какой-то промежуточный битмап), а потом из этого битмапа - уже рисовать на Image, лежащий внутри панельки в увеличенном виде. Делается классом-перехватчиком в пределах 20 строк кода, зато работает независимо от каких-то изначальных настроек, во время работы программы можно менять темы, и изображение увеличенного чекбокса будет под них подстраиваться, ибо браться будет с реального чекбокса, скрытого панелькой...

Не по теме:

Многие могут сказать "работает и ладно, ради чего усложнять?" Так вот для меня "работает и ладно" - это ни разу не показатель. Либо оно работает хорошо и всегда, либо это г...код. Специфика работы располагает к такому. Наш код либо работает идеально, либо нещадно выносится в мусорную корзину и переписывается, при малейшем подозрении на какие-то глюки...

1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.11.2018, 13:34
Помогаю со студенческими работами здесь

Как растянуть текст в подменю(сделать в одну строку)?
Здравствуйте, дорогие форумчане:)! Признаюсь скопипастил:-&lt;body&gt; &lt;h2&gt;Основное меню&lt;/h2&gt; ...

Как добавить текст с checkbox в textarea?
Есть такая задача: У нас есть 3 checkbox и один textarea. При каждой выделении checkbox надо добавить текст(value) в textarea с помощю...

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

Растянуть текст
Подскажите, пожалуйста, можно ли растянуть текст. Т.е. допустим ширина ячейки 200px тогда надпись должна выглядеть где-то так М И ...

Растянуть текст
Здравствуйте. Имеется текст, имеется блок. Размер текста не задан, нужно чтобы этот текст принимал автоматический размер по ширине и...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru