Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / ThisForm.removeObject(cObjectName) / 9 сообщений из 9, страница 1 из 1
28.01.2008, 19:47
    #35093044
Valerii
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ThisForm.removeObject(cObjectName)
Народ,
Кто подскажет, как можно прибить объекты на форме CommandButton которые назваются типа cmd1, cmd2,...cmdXXX одним махом, по маске "cmd" названия объекта?
Количество кнопок на форме постоянно меняется!!!! То есть, циклом и макроподстановкой можно - но не очень красиво, нужно каждый раз запоминать количество созданных кнопок методом AddObject из готового класса кнопки.
Всем спасибо.
...
Рейтинг: 0 / 0
28.01.2008, 20:36
    #35093113
прошелмимо
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ThisForm.removeObject(cObjectName)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
LOCAL i, lcName AS String, loControl AS Object, loForm AS "form" 
loForm = createobject("form")

with loForm

	for i= 1  to  20 
		lcName = "cmd"+ltrim(str(i))
		.addobject(lcName, "commandbutton")
		with getpem(loForm, lcName)
			.top = i* 10 
			.visible = .t.
		endwith	
	endfor
		
	.show()
	
	messagebox("1")

	for i=.controlcount to  1  step - 1 
		loControl = .controls(i)
		if lower(loControl.baseclass)="commandbutton" and leftc(loControl.name, 3 )=="cmd"
			.removeobject(loControl.name)
		endif
	endfor

	.show()
	messagebox("2")
	
endwith 
...
Рейтинг: 0 / 0
28.01.2008, 20:46
    #35093119
Valerii
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ThisForm.removeObject(cObjectName)
Примерно так и решил, но думал что есть что-то типа ThisForm.SetAll(......)
...
Рейтинг: 0 / 0
29.01.2008, 12:46
    #35094415
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ThisForm.removeObject(cObjectName)
Можно размещать кнопки не напрямую на форме, а подложить под них объект-контейнер и "одним махом" удалять сам этот контейнер со всем содержимым.
...
Рейтинг: 0 / 0
29.01.2008, 15:16
    #35095003
Valerii
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ThisForm.removeObject(cObjectName)
логично... тоже неплохая идея...
...
Рейтинг: 0 / 0
29.01.2008, 15:19
    #35095012
Aleksey-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ThisForm.removeObject(cObjectName)
ValeriiПримерно так и решил, но думал что есть что-то типа ThisForm.SetAll(......)
Можно и через SetAll если:
1. Вместо RemoveObject делать у них Visible = .F.
2. Использовать свой класс таких кнопок (чтобы не все кнопки убирать через Visible)
С уважением, Алексей
...
Рейтинг: 0 / 0
29.01.2008, 19:02
    #35095779
Valerii
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ThisForm.removeObject(cObjectName)
Visible =.F. не подходит..
...
Рейтинг: 0 / 0
30.01.2008, 11:39
    #35096843
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ThisForm.removeObject(cObjectName)
Можно еще в момент создания кнопок записывать их имена в свойство формы типа массив, а потом просто сканировать этот массив.
...
Рейтинг: 0 / 0
30.01.2008, 16:29
    #35098145
Valerii
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ThisForm.removeObject(cObjectName)
логично...
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / ThisForm.removeObject(cObjectName) / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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