powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как сгенерировать элемент управления...
31 сообщений из 31, показаны все 2 страниц
Как сгенерировать элемент управления...
    #32618803
ando
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... в Buildere, TImage, например?

Честно искал по форуму и не нашел.
...
Рейтинг: 0 / 0
Как сгенерировать элемент управления...
    #32618838
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ando... в Buildere, TImage, например?

Честно искал по форуму и не нашел.

А разве в Хелпе/книгах нет статей про создание визуальных компонентов? По мне так что элемент управления, что визуальный компонент - суть одна и та же...
...
Рейтинг: 0 / 0
Как сгенерировать элемент управления...
    #32618864
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2ando
а что вы имеете ввиду под сгенерировать ?



 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
Как сгенерировать элемент управления...
    #32618966
m1rag3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если имеется в виду создание компонента в runtime ещ кажись так (может и ошибаюсь, Form1 - это объект-родитель)

TButton * but = new TButton(Form1);
...
Рейтинг: 0 / 0
Как сгенерировать элемент управления...
    #32619053
ando
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TImage *img=new TImage(fMain);

Это правда, но img-то нигде не видать!
...
Рейтинг: 0 / 0
Как сгенерировать элемент управления...
    #32619092
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
img->Parent = Form1;


 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
Как сгенерировать элемент управления...
    #32619137
ando
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TImage *img=new TImage(fMain);
img->Parent=fMain;
img->Left=100;
img->Top=100;
img->Canvas->Pen->Color=clRed;
img->Canvas->Pen-Width=2;
img->Canvas->LineTo(40,40);
img->Visible=true

Все работает. Большое спасибо, ребята!
...
Рейтинг: 0 / 0
Как сгенерировать элемент управления...
    #32620226
ando
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А возможно ли в рантайме какое-либо событие состряпать для вновь созданного контрола или описать, куда по этому событию идти?
...
Рейтинг: 0 / 0
Как сгенерировать элемент управления...
    #32620555
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
class TMyImage : public TImage
{
   public:
   OnSomeEvent(SomeArgs);
}

//...
TMyImage::OnSomeEvent(SomeArgs Args)
{
    //...
}
//...

image = new TMyImage;
...
Рейтинг: 0 / 0
Как сгенерировать элемент управления...
    #32620638
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andoА возможно ли в рантайме какое-либо событие состряпать для вновь созданного контрола или описать, куда по этому событию идти?

Можно :)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
class TForm1 : public TForm
{
 ...
 public:
    void __fastcall MyImgClick(TObject *Sender); 
};

void __fastcall MyImgClick(TObject *Sender)
{
   ShowMessage("Hello World");
}

...
TImage *img=new TImage(fMain);
img->Parent=fMain;
img->Left= 100 ;
img->Top= 100 ;
img->Canvas->Pen->Color=clRed;
img->Canvas->Pen-Width= 2 ;
img->Canvas->LineTo( 40 , 40 );
img->Visible=true
img->OnClick = MyImgClick;
...
Рейтинг: 0 / 0
Как сгенерировать элемент управления...
    #32621286
ando
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кажется, мы не совсем поняли друг друга.

Вот:

TImage *img=new TImage(fMain);
img->Parent=fMain;
//и т. д.

Здесь img при запуске формы не существовал вообще.
Я делаю его по клику.

К вопросу о схемах. Вопрос в том, рисовать элемент схемы
на канве основного (фонового) TImage или создавать
для каждого значка свой новый TImage, если для каждого нового
можно еще прописать, чего он должен делать по клику.
...
Рейтинг: 0 / 0
Как сгенерировать элемент управления...
    #32621335
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторКажется, мы не совсем поняли друг друга.
Здесь img при запуске формы не существовал вообще.
Я делаю его по клику
Ну мы и накатали пару динамических элементов... Где непонимание?

авторВопрос в том, рисовать элемент схемы
на канве основного (фонового) TImage или создавать
для каждого значка свой новый TImage
Смотря что ты хочешь с ним делать. Если просто рисовать, то лучше на основном, если двигать потом, как иконки, то лучше сделать отдельный класс.
...
Рейтинг: 0 / 0
Как сгенерировать элемент управления...
    #32621372
ando
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо!

Сейчас разбираться стану.
...
Рейтинг: 0 / 0
Как сгенерировать элемент управления...
    #32621399
ando
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Е-э-э!

Рабо-отает!!!
...
Рейтинг: 0 / 0
Как сгенерировать элемент управления...
    #32621406
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А то !


 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
Как сгенерировать элемент управления...
    #32621413
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
но только для твоей задачи , скорее как то по другому нужно будет делать .
ведь я так понял , что у вас типа карта , на ней элементы , и на эти обьекты нужно будет кликать ?



 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
Как сгенерировать элемент управления...
    #32621445
ando
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, и менять их размеры и положение. А что.
...
Рейтинг: 0 / 0
Как сгенерировать элемент управления...
    #32621459
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да нет я просто думаю ...
может , это можно более логично сделать , хотя с одной стороны можно и так
но ты сталкнешся еще с подводными камнями :)

а как в реальном времени добавлять обьекты итд.


 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
Как сгенерировать элемент управления...
    #32621488
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тоесть добавлять неизвестное заранее кол-во обьектов

 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
Как сгенерировать элемент управления...
    #32621577
ando
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, количество неизвестно, но это будет определенный массив. т. е., скажем, до 1024 элементов. И то много
...
Рейтинг: 0 / 0
Как сгенерировать элемент управления...
    #32621585
ando
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
один из булыжников - это перехлест областей значков и все, что вытекает
...
Рейтинг: 0 / 0
Как сгенерировать элемент управления...
    #32621600
ando
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
другой коралловый риф - расположение части значка за пределами видимой области фонового изображения
...
Рейтинг: 0 / 0
Как сгенерировать элемент управления...
    #32621689
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andoда, количество неизвестно, но это будет определенный массив. т. е., скажем, до 1024 элементов. И то много

а я бы посмотрел в сторону stl тобищь vector
или TList
...
Рейтинг: 0 / 0
Как сгенерировать элемент управления...
    #32622105
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--а я бы посмотрел в сторону stl тобищь vector

может map<TRect, Timage *> mapObject; // ??????
...
Рейтинг: 0 / 0
Как сгенерировать элемент управления...
    #32622299
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я бы ещё генерил не TImage, а сразу окно с WS_THICKFRAME, тогда не будет головняков с изменением размера и перерисовкой перекрытых. Винды сами всё сделают.

Кстати, кто-нибудь умеет сделать стандарнтый MessageBox растяжимым? У меня получилось сделать всё, кроме его растяжки, всмысле мышью.
...
Рейтинг: 0 / 0
Как сгенерировать элемент управления...
    #32622886
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lepsik--а я бы посмотрел в сторону stl тобищь vector

может map<TRect, Timage *> mapObject; // ??????

наверное можно .
правда я им не пользовался , поентому и не предлогал
...
Рейтинг: 0 / 0
Как сгенерировать элемент управления...
    #32622894
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CEMbА я бы ещё генерил не TImage, а сразу окно с WS_THICKFRAME, тогда не будет головняков с изменением размера и перерисовкой перекрытых. Винды сами всё сделают.

Кстати, кто-нибудь умеет сделать стандарнтый MessageBox растяжимым? У меня получилось сделать всё, кроме его растяжки, всмысле мышью.


никогда не пробовал ..
да и смысла в этом пока не вижу :)
...
Рейтинг: 0 / 0
Как сгенерировать элемент управления...
    #32623466
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А запросто сщас смысл придумаю:

выдаётся окно с ошибкой. Вместо кнопки "помощь" делаешь кнопку "дополнительно>>" и по нажатию этой кнопки, растягиваешь окно вниз, например в 2,5 раза. А внизу ставишь едит-бокс с большим подробным, невходящим в этот едит-бокс описанием. Ну скроллбары, само собой, но вот растяжка в этом случае очень нужна.
...
Рейтинг: 0 / 0
Как сгенерировать элемент управления...
    #32623605
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ну тогды понятно

 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
Как сгенерировать элемент управления...
    #32661900
ando
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во!

А как назначить событие для TImage *, если он - элемент структуры:

struct Some
{
int iSome;
TImage *imgSome;
}


А то на строке Some.imgSome->OnClick=SomeClick , вылезает ошибка

Cannot convert 'void(*(_closure)())()' to 'void(_fastcall*(_closure)(TObject*))(TObject*)'

???
...
Рейтинг: 0 / 0
Как сгенерировать элемент управления...
    #32661922
ando
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, разобрался.
...
Рейтинг: 0 / 0
31 сообщений из 31, показаны все 2 страниц
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как сгенерировать элемент управления...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]