Как передвинуть кнопки ?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
MVG
Новичок
Новичок
 
Сообщения: 46
Зарегистрирован: 28.04.2004 (Ср) 15:07
Откуда: Одесса

Как передвинуть кнопки ?

Сообщение MVG » 04.05.2005 (Ср) 10:36

На форме есть массив кнопок выстроенных в ряд с индексами установленными не по порядку: cmdCom(42); cmdCom(47); cmdCom(12); cmdCom(31);

Необходимо чтобы при удалении кнопки cmdCom(47) кнопка cmdCom(42) оставалась на месте, а кнопки cmdCom(12) и cmdCom(31) сдвигались влево на ширину удалённой кнопки, причём порядок их должен оставаться неизменным.

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 04.05.2005 (Ср) 10:55

Код: Выделить всё
cmdCom(12).Move (cmdCom(12).Left - cmdCom(47).Width)
cmdCom(31).Move (cmdCom(31).Left - cmdCom(47).Width)

MVG
Новичок
Новичок
 
Сообщения: 46
Зарегистрирован: 28.04.2004 (Ср) 15:07
Откуда: Одесса

Сообщение MVG » 04.05.2005 (Ср) 13:03

Дополню вопрос. Пытаюсь создать контрол по образу и подобию Панели задач Windows'а.

Кнопки выводятся в случайном (выбранном пользователем) порядке. При добавлении новой кнопки
подсчитывается количество уже выведенных кнопок и новая добавляется в конец ряда. Порядок индексов выводимых
кнопок так-же случаен, т.к. каждой форме соответствует конкретный индекс с которым и выводится новая кнопка.
Пользователь может удалить любую кнопку (путём закрытия соответствующей ей формы) из середины ряда. Какие индексы были уже задействованы, какой удаляется и какие в ряду за ним остались - заранее не известно.
Последний раз редактировалось MVG 05.05.2005 (Чт) 9:35, всего редактировалось 1 раз.

Matew
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 894
Зарегистрирован: 28.06.2004 (Пн) 17:44
Откуда: Дальний Восток, г. Ха

Сообщение Matew » 05.05.2005 (Чт) 4:55

Есть такой контрол в ВБ ToolBar - в нем это все сделано, остается только хранить выбранные кнопки для последующих запусков проги (например в INI файле).

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 05.05.2005 (Чт) 9:16

MVG, где вопрос-то?

MVG
Новичок
Новичок
 
Сообщения: 46
Зарегистрирован: 28.04.2004 (Ср) 15:07
Откуда: Одесса

Сообщение MVG » 05.05.2005 (Чт) 9:56

Вопрос в том, можно ли ИЗ РЯДА ЭЛЕМЕНТОВ массива с индексами не по-порядку (причём, заранее не известно какие именно индексы будут задействованы) УДАЛИТЬ ИЗ СЕРЕДИНЫ элемент так, чтобы оставшиеся за ним в ряду сохранили свой порядок и сместились влево на ширину удалённого элемента (кнопки). For each не подходит потому что он считает и те, что слева, хотя, надо попробовать For each "у которых Left > чем у удаляемой кнопки"


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 149

    TopList  
cron