FoxPro Club Главная

Конференция Решения Фотоальбом Сайт М.Дроздова Статьи Файловый архив Книга Visual FoxPro 9.0 Русский Help для Visual FoxPro
Пользователей: 9115
Вход
ClassAsForm

утилита для записи класса на основе FORM из библиотеки VCX в форму - наследницу SCX


 
Прислал: Vladimir_Knyr   Категория: Инструменты разработчика


  
 * утилита для записи класса на основе FORM из библиотеки VCX в форму - наследницу SCX  
  procedure ClassAsForm  
  #define		YES			6  
  #define		MsgTitle	'Tool ClassAsForm'  
  local old_safety , i , classcount  
  	m.old_safety = set('safety') && запрос на подтверждение  
  	set safety off				 && не нужен  
  do while messagebox('Наследовать форму от класса ?',4+32+4096,MsgTitle) = YES  
  	if agetclass(AClasses) && Выбираем Класс FORM из библиотеки AClasses[1] - Библиотека ;  
  AClasses[2] - Класс  
  		* получили массив инфо о классах библы aClass1[1] - ObjName ; aClass1[2] - BaseClass  
  		m.classcount = avcxclasses(aClass1,AClasses[1])  
  		m.i = ascan(aClass1,AClasses[2],1,m.classcount,1,9)  
  		if m.i > 0 and upper(aClass1[m.i,2]) == 'FORM' && могем из класса сделать форму наследник ?  
  			create form (AClasses[2]) as (AClasses[2]) from (AClasses[1]) nowait save && открыли конструктор форм с нашим классом  
  				sys(1500,'_MFI_SAVAS','_MSM_FILE') && сохранили класс как форму  
  			release windows 'Form Designer - ' + AClasses[2] + '.scx' && и закрыли конструктор  
  		else  
  			messagebox('Базовый класс должен быть FORM.',48+4096,MsgTitle,3000)  
  		endif  
  	endif  
  enddo  
  set safety &old_safety && восстановили запрос на подтверждение, какой он был до нашего вмешательства  
  return  
  

 
Сделайте оценку этого решения Плохо Удовлетворительно Так себе Хорошо Отлично Текущая оценка: (3)
Дополнения пользователей
ClassAsForm
[+][?]
Каратаев
04.07.06 08:18:00

А где утилита-то? Качается только HTML страничка с заголовком.
Vladimir_Knyr
04.07.06 08:58:19

Вот эта утилитка и есть, почему то не приклеилась текстом к страничке:(

* утилита для записи класса на основе FORM из библиотеки VCX в форму - наследницу SCX
procedure ClassAsForm
#define		YES			6
#define		MsgTitle	'Tool ClassAsForm'
local old_safety , i , classcount
	m.old_safety = set('safety') && запрос на подтверждение
	set safety off				 && не нужен
do while messagebox('Наследовать форму от класса ?',4+32+4096,MsgTitle) = YES
	if agetclass(AClasses) && Выбираем Класс FORM из библиотеки AClasses[1] - Библиотека ;
AClasses[2] - Класс
		* получили массив инфо о классах библы aClass1[1] - ObjName ; aClass1[2] - BaseClass
		m.classcount = avcxclasses(aClass1,AClasses[1])
		m.i = ascan(aClass1,AClasses[2],1,m.classcount,1,9)
		if m.i > 0 and upper(aClass1[m.i,2]) == 'FORM' && могем из класса сделать форму наследник ?
			create form (AClasses[2]) as (AClasses[2]) from (AClasses[1]) nowait save && открыли
конструктор форм с нашим классом
				sys(1500,'_MFI_SAVAS','_MSM_FILE') && сохранили класс как форму
			release windows 'Form Designer - ' + AClasses[2] + '.scx' && и закрыли конструктор
		else
			messagebox('Базовый класс должен быть FORM.',48+4096,MsgTitle,3000)
		endif
	endif
enddo
set safety &old_safety && восстановили запрос на подтверждение, какой он был до нашего
вмешательства
return
urfin
10.08.06 14:58:17

Отличная идея :
sys(1500,'_MFI_SAVE','_MSM_FILE')
release windows 'Form Designer - filename.scx'
Уже применил. Спасибо.
[Дополнить]



© 2000-2017 Fox Club 
При размещении любых материалов с сайта на других ресурсах- прямая ссылка на www.foxclub.ru обязательна
Яндекс.Метрика