ChaoticCube
							
								ChaoticCube 
								Помогающий
								
								  
								  Offline
								Пол:   
								
								ChaoticCube
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 «  : 08-01-2004 08:45 »   | 
								
								 | 
							  
							 
							VC7 Проблема странная. Опишу как смогу.
  Итак - делаю PropertyListBox. Следовательно есть элементы, которые создаются и уничтожаются по необходимости. Странность такая - создаю CComboBox стилем CBS_DROPDOWNLIST. Работаю. Происходит CBN_KILLFOCUS. По нему уничтожаю комбик DestroyWindow() и удаляю элемент delete Combo. После окончания работы OnKillFocus - появляются баги (выдает в atltrace.h)
  Что занятно - другим стилем если комбик рисовать - багов нет.
  Подскажите где копать? 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							Сила ночи, сила дня - одинакого фигня.... 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							Гром
							
								Птычк. Тьфу, птычник... Вот! 
								Готовлюсь к пенсии
								
								  
								  Offline
								Пол:   
								Бодрый птах
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #1 : 08-01-2004 10:15 »   | 
								
								 | 
							  
							 
							А зачем ты убиваешь Комбо бокс после потери фокуса??? 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							А птичку нашу прошу не обижать!!! 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							ChaoticCube
							
								ChaoticCube 
								Помогающий
								
								  
								  Offline
								Пол:   
								
								ChaoticCube
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #2 : 08-01-2004 10:30 »   | 
								
								 | 
							  
							 
							Ну тема такая - класс является листом свойств. То есть 2 колонки в лист боксе (слева - название свойства (допустим Имя), справа - его значение (допустим  - Объект1))
  Каждый раз кода наглый юзер нажимает на свойство  справа должно появляться нечто - иногда комбик, иногда едит, иногда кнопка. Назовем это итемом.
  Когда пользователь покидает итем и переходит например на другой итем, предыдущий надо убить и создать новый, чо бы обрабатывать уже новые мессаги и т.д.
  Миллион итемов хранить - куча IDC надо, памяти, да и быстродествие жакроется нопой. Короче по другому ни как.
  См. подобные же листы свойст в Visual Studio, C++Builder и т.д... Там так же - зашел в свойство - итем появился - вышел - кронты итему... 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							Сила ночи, сила дня - одинакого фигня.... 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Serega
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #3 : 12-01-2004 04:40 »   | 
								
								 | 
							  
							 
							не надо delete, посылай WM_DESTROY, контрол сам позаботится о своей памяти 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							ChaoticCube
							
								ChaoticCube 
								Помогающий
								
								  
								  Offline
								Пол:   
								
								ChaoticCube
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #4 : 14-01-2004 23:13 »   | 
								
								 | 
							  
							 
							Так - не могу, мне по любому при том устройстве компонента что есть надо делать delete.
  Спасибо всем, кто ответил. Траблу уже обошел.
  Кому интересно способ обхода - перегрузил класс комбика, сделав ему по WM_KILLFOCUS Destroy. А сам delete также делаю где раньше - то есть по сообщению листу свойств CBN_KILLFOCUS. Работает. Почему - не знаю, но очень интересно.
  Что странно - раньше (когда трабла была) проверено - память лишняя не убивалась. DestroyWindow() для комбика ошибок не выдавал. Восле каждой записи ставил GetLastError() - тоже безошибочно. Короче, чушь какая-то.
  Кстати, обращаюсь к Грому. Было бы неплохо хранить на сайте разработанные нашими программерами компоненты для MFC, C++Buider и т.д. Было бы легко и просто многое делать. Допустим лист всойств мой - пригодился бы многим, с какими-нить переделками. Также их можно было бы обсуждать и т.д. (как на codeguru.com) Вот такое пожелание. 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							Сила ночи, сила дня - одинакого фигня.... 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							Алексей++
							
								глобальный и пушистый 
								Глобальный модератор
								
								 
								  Offline
								
								Сообщений: 13
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #5 : 15-01-2004 03:34 »   | 
								
								 | 
							  
							 
							ChaoticCube, а не проще очищать память только от данных, а комбу делать невидимой? 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							Гром
							
								Птычк. Тьфу, птычник... Вот! 
								Готовлюсь к пенсии
								
								  
								  Offline
								Пол:   
								Бодрый птах
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #6 : 15-01-2004 09:07 »   | 
								
								 | 
							  
							 
							ChaoticCube, что то странное, но я пока не понял как код устроен , а без этого смотреть и говорить о способах трудно. Одно точно Алексей1153, хоршо сказал, создай все типы появляющихся итемов, в одном экземпляре и делай их невидимыми, а когда надо заполняй нужными данными и делай видимыми, и т.д. Тогда парится с памятью не придется - это раз, да и скорость сэкономишь - создание и удаление объекта долбше чем делать видимо не  видимое свойство.
  Насчет компонент - с удовольствием - можно начать прямо счас - присылай. 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							А птичку нашу прошу не обижать!!! 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							ChaoticCube
							
								ChaoticCube 
								Помогающий
								
								  
								  Offline
								Пол:   
								
								ChaoticCube
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #7 : 16-01-2004 14:16 »   | 
								
								 | 
							  
							 
							Гром, Если б я знал куда слать. Поищу конечно, но может подскажешь? Нашел - на  club@shelek.comПришлю туда. Сегодня вечером.  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							Сила ночи, сила дня - одинакого фигня.... 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							ChaoticCube
							
								ChaoticCube 
								Помогающий
								
								  
								  Offline
								Пол:   
								
								ChaoticCube
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #8 : 16-01-2004 22:25 »   | 
								
								 | 
							  
							 
							Ушел компонент. Если можно - напиши мне ссылку куда выложешь. Заранее спасибо. 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							Сила ночи, сила дня - одинакого фигня.... 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							ChaoticCube
							
								ChaoticCube 
								Помогающий
								
								  
								  Offline
								Пол:   
								
								ChaoticCube
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #9 : 21-01-2004 07:57 »   | 
								
								 | 
							  
							 
							Гром, компонент дошел? Или ты его не выложишь? Ответил бы что-нить. 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							Сила ночи, сила дня - одинакого фигня.... 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							Алексей++
							
								глобальный и пушистый 
								Глобальный модератор
								
								 
								  Offline
								
								Сообщений: 13
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									«  Ответ #10 : 15-04-2006 18:18 »    | 
								
								 | 
							  
							 
							(комент)
  1) имхо тема для удаления, но: 2) МЫСЛЯ : галерея сапопальных компонентов для MFC. У меня тоже имеется, что выложить - например контрол, похожий на набор чекбоксов (рисованный) и прочая.  3) Если галерея нужна - то дошёл ли присланный компонент? (или спросить у автора заново - наверняка баги ещё подправлены) 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 | 
	 |