Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.79/19: Рейтинг темы: голосов - 19, средняя оценка - 4.79
4 / 4 / 1
Регистрация: 15.04.2010
Сообщений: 134

События в TActionClientItem

15.07.2010, 11:06. Показов 3887. Ответов 40
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем? Я работаю в Bilder 2009 и там есть компонент лента Ribbon Control, я не знаю как через, и у меня тот же вопрос, я создай собитие в ActionManager1, и мне нужно в том событие вставить код
C++
1
2
3
4
5
6
7
8
9
10
Graphics::TBitmap *abmp = new Graphics::TBitmap();
abmp->Height = 5;
abmp->Width = 17;
abmp->LoadFromFile("F:\\Мой проэкт\\Значки на проект\\16\\Панель инструментов\\ColorText.bmp");
abmp->Canvas->Pen->Color=clRed;
abmp->Canvas->Brush->Color = clRed;
abmp->Canvas->Rectangle(0,13,16,17);
SpeedButton1->Glyph->Assign(abmp);
delete abmp;
abmp = NULL;
В том деле я не знаю как правильно обратитса к томой кнопке, я пробівал как в кнопке рисовать Button, но всеровно не выходит? Подскажите как можно передальть код!!!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.07.2010, 11:06
Ответы с готовыми решениями:

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

Как в одном обработчике события запустить другой обработчик события
Есть список listView1, который заполняется из массива PeopleListprivate void listView1_RetrieveVirtualItem(object sender,...

Почему если делегат события определен в другом классе, то не получается создать генерацию события?
В проекте №1 объявлен делегат для события: delegate void StateEventHandler(State state); А в своем проекте №2 я в классе создаю событие...

40
4 / 4 / 1
Регистрация: 15.04.2010
Сообщений: 134
15.07.2010, 14:24  [ТС]
Студворк — интернет-сервис помощи студентам
MikeSoft, оно не знает что это
[BCC32 Error] Unit1.cpp(65): E2451 Undefined symbol 'ilGFX16'

Добавлено через 2 минуты
MikeSoft, У меня в ImageList картинка под Нулёвым индексом стоит
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
15.07.2010, 14:28
lebid, читаем внимательно мой комментарий:
C++
1
ACI->ImageIndex = ilGFX16->AddMasked(bmp,clWhite); // ilGFX16 - название вашего контейнера изображений
Для кого я комментарии пишу? Просто так, от "нечего делать"?
0
4 / 4 / 1
Регистрация: 15.04.2010
Сообщений: 134
15.07.2010, 14:29  [ТС]
MikeSoft, Я то понял, а как ты сделал контейнер изображения?
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
15.07.2010, 14:30
lebid, а вы знаете много методов добавления стандартного контейнера изображений (VCL)?
И самое интересное, что он уже добавлен ...
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
15.07.2010, 14:34
MikeSoft, он знает, что такое ImageList1, в что такое контейнер изображений он не знает. Зачем ты такими сложными словами человека травмируешь ?
0
4 / 4 / 1
Регистрация: 15.04.2010
Сообщений: 134
15.07.2010, 14:34  [ТС]
MikeSoft, Я как его можно загрузить в контейнер?
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
15.07.2010, 14:36
Inadequate, а как же тогда программировать?
А если я скажу "вещественное число" - что будет тогда?
Нужно тренироваться думать, тогда из программирования будет виден толк.

Загрузку в контейнер нарисованного изображения можно сделать многими способами.
Я предпочёл сделать так:
C++
1
AddMasked(bmp,clWhite)
т.к. этот метод установит маску прозрачности на цвет clWhite.
0
4 / 4 / 1
Регистрация: 15.04.2010
Сообщений: 134
15.07.2010, 15:02  [ТС]
MikeSoft, Я догадался

Добавлено через 8 минут
MikeSoft, а можеш сфоткать что вышло у тебя

Добавлено через 7 минут
MikeSoft, Что то квадратик не появляетса
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
15.07.2010, 15:03
lebid, получилось то, что запрограммировано:
Изображения
 
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
15.07.2010, 15:41
Ну, и соответственно, добавленное изображение необходимо удалять перед очередным добавлением, дабы контейнер не "раздувался" элементами.

Поэтому, код можно переписать вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int Index = -1;
TColorDialog *cd = new TColorDialog(this);
if (cd->Execute()) {
  RichEdit1->SelAttributes->Color = cd->Color;
 
  TAction *ACI;
  ACI = dynamic_cast <TAction *> (Sender);
  if (ACI) {
    Graphics::TBitmap *bmp = new Graphics::TBitmap();
    bmp->Height = 16;
    bmp->Width = 16;
    bmp->Canvas->Brush->Color = cd->Color;
    bmp->Canvas->Rectangle(0,0,16,16);
    if (Index != -1) {
      ilGFX16->Delete(Index);
    }
    Index = ilGFX16->AddMasked(bmp,clWhite);
    ACI->ImageIndex = Index;
    delete bmp;
    bmp = NULL;
  }
}
1
4 / 4 / 1
Регистрация: 15.04.2010
Сообщений: 134
16.07.2010, 19:34  [ТС]
MikeSoft, У меня вышло, Большое СПС
Название: bezymjannyj.png
Просмотров: 18

Размер: 3.6 Кб
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
16.07.2010, 19:37
lebid, пожалуйста.
0
4 / 4 / 1
Регистрация: 15.04.2010
Сообщений: 134
16.07.2010, 19:40  [ТС]
MikeSoft, А много вабще стандартных классов для форматирования текста?, я только видил несколька
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
18.07.2010, 02:29
lebid, для начала нужно определится с понятием "стандартных классов". Какой класс называем стандартным? В каждой IDE есть свои дополнительные реализации, методы и тому подобное ...
Комбинируя методы можно утверждать, что программирование всемогуще.
0
4 / 4 / 1
Регистрация: 15.04.2010
Сообщений: 134
19.07.2010, 13:23  [ТС]
MikeSoft, Привет, у меня еще вопрос, У меня вышло зделать кнопку цвет текста, но есть одно но, можно ли както чтобы Из кантейнера не удалялась картинка где загружана все изображение? Потомучто я еще хочу щделать одну кнопку подобно этой. Можно както запрограмировать чтобы отрисовывался рдин прямоугольник под буквой?
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
19.07.2010, 13:40
Цитата Сообщение от lebid Посмотреть сообщение
можно ли както чтобы Из кантейнера не удалялась картинка
Можно. Но при этом, проект будет постепенно "раздуваться" в ОЗУ.
Вторую кнопку можно добавлять таким же действием, как я описал выше.
Аналогия - один в один.
0
4 / 4 / 1
Регистрация: 15.04.2010
Сообщений: 134
19.07.2010, 13:42  [ТС]
Я пробыва выходило, но при выборе цвета текста изображения миняло индекс картинки!!
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
19.07.2010, 13:47
Для новой кнопки нужно обрабатывать её событие OnExecute (то есть, события должны быть разные).

Индекс изображения можно сохранять глобально.
Например, можно сохранить индекс после добавления изображения:
C++
1
static int Index = ilGFX16->AddMasked(bmp,clWhite);
0
4 / 4 / 1
Регистрация: 15.04.2010
Сообщений: 134
19.07.2010, 15:07  [ТС]
MikeSoft, что то не выходит

Добавлено через 26 минут
MikeSoft, Я в обработчеке формы OnShow (при запуске формы), вставил вот такой код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
static int Index = 24;
Graphics::TBitmap *bmp = new Graphics::TBitmap();
    bmp->Height = 16;
    bmp->Width = 16;
    bmp->LoadFromFile("F:\\Мой проэкт\\Значки на проект\\16\\Панель инструментов\\ColorText.bmp");
    bmp->Canvas->Pen->Color=clBlack;
    bmp->Canvas->Brush->Color=clBlack;
    bmp->Canvas->Rectangle(0,12,16,16);
    Index = ImageList16->AddMasked(bmp,clWhite);
    delete bmp;
    bmp = NULL;
 
static int aIndex = 25;
Graphics::TBitmap *abmp = new Graphics::TBitmap();
    abmp->Height = 16;
    abmp->Width = 16;
    abmp->LoadFromFile("F:\\Мой проэкт\\Значки на проект\\16\\Панель инструментов\\ColorOfSelectionOfText.bmp");
    abmp->Canvas->Pen->Color=clSilver;
    abmp->Canvas->Rectangle(0,12,16,16);
    aIndex = ImageList16->AddMasked(abmp,clWhite);
    delete abmp;
    abmp = NULL;
Добавлено через 42 минуты
А когда я выбираю цвет текста Иконки местами меняютса
0
4 / 4 / 1
Регистрация: 15.04.2010
Сообщений: 134
10.08.2010, 11:08  [ТС]
MikeSoft, Привет
C++
1
static int Index = ilGFX16->AddMasked(bmp,clWhite);
что то не выходит
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.08.2010, 11:08

Перенос массива из класса события в другой класс события
есть вот такой код: private void button_follow_Click(object sender, EventArgs e) { if...

Для чего использовать ключевое слово event в объявлении события, если события — это те же самые делегаты
Господа, скажите пожалуйста, для чего использовать ключевое слово event в объявлении события, если события - это те же самые делегаты ?...

Генерация события при обработке другого события
Привет!!!! помогите пожалуйста. Как генерировать событие нажатия кнопки при обработки события нажатия на другую кнопку private:...

Вызов события из другого события по нажатию клавиши
Всем привет! Есть кнопка на Windows.Forms, к ней привязано событие. Хочется, чтобы еще и по нажатию Enter эта кнопка срабатывала...

Создание объекта-события и обработчика события
Допустим у меня есть следующий класс: public class Example { private boolean bool; public boolean isBool() { return bool;...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата) Этот документ предназначен для того, чтобы новый чат Claude мог продолжить работу без необходимости заново разбираться в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru