Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.16;
Скачать: CL | DM;

Вниз

Как программно создать новую кнопку в ToolBar?   Найти похожие ветки 

 
killer ©   (2003-06-03 17:58) [0]

Как программно создать новую кнопку в ToolBar?


 
DVM ©   (2003-06-03 18:17) [1]

Я даже могу предугадать следующие вопросы. Как программно создать метку, текстовое поле, ...

Да также!


 
killer ©   (2003-06-03 18:23) [2]

нее... :))) Мне эти два вопроса надо узнать :)))


 
DVM ©   (2003-06-03 18:27) [3]

Ну я же уже написал как это сделать.
Или вот сюда смотри:
http://delphi.mastak.ru/articles/components-rt.html


 
Юрий Зотов ©   (2003-06-03 19:03) [4]

Ну, положим, не совсем так же, у тулбаров и их кнопок все же есть свои заморочки (связанные с тем, что тулбары - это стандартные системные окна и со своими кнопками они работают по-своему). В общем, после создания TToolButton надо вызвать метод SetToolBar, это как бы "зарегистрирует" кнопку на тулбаре.


 
killer ©   (2003-06-03 21:45) [5]

А где прописать этот SetToolBar?


 
Юрий Зотов ©   (2003-06-03 22:19) [6]

Там, где и было сказано - после создания TToolButton.


 
killer ©   (2003-06-04 13:18) [7]

а как создать TToolButton?

var
Mybut:TToolButton;
begin
Mybut:=ToolBar1.Buttons();

Так? Только что в скобочках писать?



 
ladybird   (2003-06-04 13:31) [8]

Что-то в этом роде

//TB : TToolbar;

With TToolButton.Create(TB) do
begin
Parent := TB;
...
end;


 
Юрий Зотов ©   (2003-06-04 13:38) [9]

> killer © (03.06.03 21:45)
> А где прописать этот SetToolBar?

> killer © (04.06.03 13:18)
> а как создать TToolButton?

Извините, а вот такие два вопроса подряд Вас ни на какие мысли не наталкивают? По поводу пользы книг, например?




 
killer ©   (2003-06-04 13:40) [10]

наталкивают :))))))


 
ladybird   (2003-06-04 13:58) [11]

> Юрий Зотов
>>В общем, после создания TToolButton надо вызвать метод >>SetToolBar, это как бы "зарегистрирует" кнопку на тулбаре

?!!!
см Help->TToolButton.Create->Example


 
killer ©   (2003-06-04 15:05) [12]

Все! Получилось! :))) Но появилась еще одна проблема! Надо чтобы с изображением добавлялось! в свойстве ToolBar-а Images ставлю ImageList с набором картинок, но ничего не получается :( Кнопк пустые создаются...


 
ladybird   (2003-06-04 15:14) [13]

With TToolButton.Create(TB) do
begin
Parent := TB;
ImageIndex := N;
end;


 
killer ©   (2003-06-04 15:36) [14]

А что за N? Откуда она берется? Случаянно не ButtonCount? Или еще что?


 
ladybird   (2003-06-04 15:38) [15]

Ну беда...
N - это номер картинки в ImageList (от 0)
Подставьте нужное число...


 
killer ©   (2003-06-04 16:07) [16]

А если у меня в ImageList например 10 картинок и надо чтобы в каждой новой кнопке загружалась следующая картинка из ImageList? И как сделать чтобы кнопки не слева добавлялись, а справа?


 
ladybird   (2003-06-04 16:11) [17]

Все... конец связи...


 
killer ©   (2003-06-04 16:12) [18]

ПОМОГИТЕ ПЛИЗ!!!!!!!!!!!!


 
Arm79 ©   (2003-06-04 16:30) [19]

Парень, тебе нужен учитель по программированию... Где же твое логическое мышление?
> А если у меня в ImageList например 10 картинок и надо чтобы в каждой новой кнопке загружалась следующая картинка из ImageList?

Просто при каждом добавлении увеличивай N на 1, вот и все.

> И как сделать чтобы кнопки не слева добавлялись, а справа?

Просто нужно присвоить определенному свойству определенного компонента определенное значение при создании. Больше говорить ничего не буду, надо и книжки читать


 
Юрий Зотов ©   (2003-06-04 16:35) [20]

> ladybird (04.06.03 13:58)

Разница в том, что не вызывается InsertButton, а там выполняется довольно много работы, но самое главное - вызывается
UpdateItem(TB_INSERTBUTTON, ...). Это и есть вставка кнопки в стандартное окно тулбара (то, что я назвал "регистрацией").

Поэтому, полагаю, если просто дать Parent (как для обычных контролов), то можно ожидать глюков. Особенно, на сложных тулбарах, с разнвми кнопками, с их группировкой, с переносом и пр. Уж не говоря о том, что с такой кнопкой нельзя будет работать "родными" системными средствами.


 
ladybird   (2003-06-04 16:49) [21]


protected SetToolBar(ABar : TToolBar);


 
ladybird   (2003-06-04 17:11) [22]

>>Юрий Зотов ©
Уж не знаю как, но после
ToolButton.Parent := ToolBar;

ToolButton.FToolBar = ToolBar
Видимо, InsertButton как-то вызывается



Страницы: 1 вся ветка

Текущий архив: 2003.06.16;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.015 c
1-50350
killer
2003-06-03 17:48
2003.06.16
Как програмно создать кнопку?


1-50291
qwerty2
2003-06-04 16:03
2003.06.16
DLL и сложные типы


6-50423
Reals
2003-04-10 15:30
2003.06.16
Нужно подсчитать траффик интернета в выделенке...


6-50417
tm
2003-04-14 07:06
2003.06.16
Как отослать информацию служебного рода с TClientSocket


6-50427
Rem100
2003-04-11 17:18
2003.06.16
Как отключить удаленных пользователей?