Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.02.2013, 15:06   #1
JapanStyle^^
 
Регистрация: 26.02.2013
Сообщений: 6
По умолчанию Перемещение картинок на кнопках в Delfi7

Доброго времени суток. У меня такой вопрос. Есть 16 кнопок спидБаттон в ряд. У каждой есть своё изображение (Glyph) и мне нужно сделать следующее. При нажатии Шифт+кнопка мыши на кнопе в ряду картинки на СпидБаттонах смещались влево (все картинки одновременно т.е 5 в 4, 1 в 16 и т.д по кругу) а при нажатии Альт+ кнопка мыши- наоборот сдвиг вправо. Буду очень благодарен.
JapanStyle^^ вне форума Ответить с цитированием
Старый 28.02.2013, 18:55   #2
SL1M_DOGG
Пользователь
 
Регистрация: 08.06.2009
Сообщений: 96
По умолчанию

Выложите то что есть, а вообще просто в ифе на кнопке указать параметр положения на -1 (+1).
SL1M_DOGG вне форума Ответить с цитированием
Старый 01.03.2013, 06:34   #3
JapanStyle^^
 
Регистрация: 26.02.2013
Сообщений: 6
По умолчанию

procedure TForm1.SpeedButton15MouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
IF ssShift IN Shift THEN
BEGIN
(sender as TSpeedButton).Glyph.Left:=
(sender as TSpeedButton).Glyph.
end;
end.
JapanStyle^^ вне форума Ответить с цитированием
Старый 01.03.2013, 10:43   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

JapanStyle^^, и что?
выложите проект (запакуйте исходники в архив и архив прикрепите к сообщению на форуму: Расширенный режим - Управление вложениями.)

Тогда будет повод для разговора...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 01.03.2013, 13:30   #5
JapanStyle^^
 
Регистрация: 26.02.2013
Сообщений: 6
По умолчанию

Вот вам архив исходника.
Вложения
Тип файла: rar 2.rar (176.4 Кб, 8 просмотров)
JapanStyle^^ вне форума Ответить с цитированием
Старый 01.03.2013, 15:23   #6
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,543
По умолчанию

Цитата:
картинки на СпидБаттонах смещались влево (все картинки одновременно т.е 5 в 4, 1 в 16 и т.д по кругу)
0. определяем очередность перемещения картинок (Glipth)
offtop можно конечно изощренно сделать двунаправленный список на TspeenButton.Tag (но при наличии квалификации для этого исходный вопрос не возник бы).
поэтому самый простой вариант
1. кнопки должны быть собраны в массив
var
speed: array[0..X] of TspeedButton;

Код:
procedure Tform1.ScrollGlipthLeft;
var
  t: TBitmap;
  j: integer;
begin
  t:=speed[0].glipth;
  for j:=1 to X do begin
     speed[j-1].Glipth:=speed[j].glipth;
  end;
  speen[X].glipth:=t;
end;

procedure TForm1.SpeedButton15MouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
IF ssShift IN Shift THEN
BEGIN
 ScrollGLipthLeft;
end;
и аналогично делается ScrollGlipthRight
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 01.03.2013 в 15:32.
evg_m вне форума Ответить с цитированием
Старый 01.03.2013, 16:03   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

что за число? Почему по клику кнопки включаются/выключаются?!
Короче, я на 99% уверен, что Вам нужно что-то другое, о чём Вы молчите, как партизан!

Но, то, что Вы хотите (якобы, судя по тех.заданию) - пример в архиве: SpeedButtonExample.rar

Разбирайтесь...
Успехов!

ps. думаю, что Вам нужно понять, что требуется получить и полностью написать заново!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 01.03.2013, 16:53   #8
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

А может стоит сделать вместо кучи отдельных SpeedButton-ов один ToolBox, который поддерживает ImageList, которыми смещение иконок делать намного удобнее? да и события обрабатывать проще.
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 02.03.2013, 03:38   #9
JapanStyle^^
 
Регистрация: 26.02.2013
Сообщений: 6
По умолчанию

Программа изначально переводила число из 10-в двоичную СС. Если кнопка горела-1.не горит-0. Затем. мне нужно было опусть всё вышеперечисленное. Оставить 16 кнопок и сделать то,что я попросил. Вот,в итоге, я разобрался и получил следующее. Не уж то я не так вопрос задал?
JapanStyle^^ вне форума Ответить с цитированием
Старый 02.03.2013, 03:39   #10
JapanStyle^^
 
Регистрация: 26.02.2013
Сообщений: 6
По умолчанию

В итоге было убранно всё,остались только кнопки,с которыми и необходимо было сделать смену картинок.
Вложения
Тип файла: rar готовая.rar (171.0 Кб, 13 просмотров)

Последний раз редактировалось JapanStyle^^; 02.03.2013 в 03:46.
JapanStyle^^ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перемещение картинок. Roman1295 Общие вопросы Delphi 1 07.11.2012 16:42
Поддержка UTF-8 в кнопках Devostator Общие вопросы Delphi 5 11.03.2012 15:24
Текст в кнопках message Intodd Компоненты Delphi 1 18.01.2012 10:50
Delfi7 обратная функция Char mentholl Помощь студентам 5 03.06.2008 10:25