powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / ThisForm.removeObject(cObjectName)
9 сообщений из 9, страница 1 из 1
ThisForm.removeObject(cObjectName)
    #35093044
Valerii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ,
Кто подскажет, как можно прибить объекты на форме CommandButton которые назваются типа cmd1, cmd2,...cmdXXX одним махом, по маске "cmd" названия объекта?
Количество кнопок на форме постоянно меняется!!!! То есть, циклом и макроподстановкой можно - но не очень красиво, нужно каждый раз запоминать количество созданных кнопок методом AddObject из готового класса кнопки.
Всем спасибо.
...
Рейтинг: 0 / 0
ThisForm.removeObject(cObjectName)
    #35093113
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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
ThisForm.removeObject(cObjectName)
    #35093119
Valerii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Примерно так и решил, но думал что есть что-то типа ThisForm.SetAll(......)
...
Рейтинг: 0 / 0
ThisForm.removeObject(cObjectName)
    #35094415
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно размещать кнопки не напрямую на форме, а подложить под них объект-контейнер и "одним махом" удалять сам этот контейнер со всем содержимым.
...
Рейтинг: 0 / 0
ThisForm.removeObject(cObjectName)
    #35095003
Valerii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
логично... тоже неплохая идея...
...
Рейтинг: 0 / 0
ThisForm.removeObject(cObjectName)
    #35095012
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValeriiПримерно так и решил, но думал что есть что-то типа ThisForm.SetAll(......)
Можно и через SetAll если:
1. Вместо RemoveObject делать у них Visible = .F.
2. Использовать свой класс таких кнопок (чтобы не все кнопки убирать через Visible)
С уважением, Алексей
...
Рейтинг: 0 / 0
ThisForm.removeObject(cObjectName)
    #35095779
Valerii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Visible =.F. не подходит..
...
Рейтинг: 0 / 0
ThisForm.removeObject(cObjectName)
    #35096843
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно еще в момент создания кнопок записывать их имена в свойство формы типа массив, а потом просто сканировать этот массив.
...
Рейтинг: 0 / 0
ThisForm.removeObject(cObjectName)
    #35098145
Valerii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
логично...
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / ThisForm.removeObject(cObjectName)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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