|  | 
 
 | 
| 
 | |||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
|  | 
|  | Опции темы | Поиск в этой теме | Опции просмотра | 
|  | 
| 
			 
			#1  
			
			
			
			
		 | ||||
| 
 | ||||
|  StayOnTop дополнительного окна Дополнительное (неглавное) окно (или несколько) создается динмически. Задача - свернуть главное окно так, чтобы дополнительное не сворачивалось и было StayOnTop. Или, как вариант, дополнительное окно поверх всех, но при его активации главное окно не перекрывало другие программы (окна). Последний раз редактировалось Помидоркин, 30.04.2015 в 17:31. | 
| 
			 
			#2  
			
			
			
			
		 | |||
| 
 | |||
|   Создавай с родителем Desktop. Вот пример окна нотификации из одного моего проекта (код не полностью, только создание): Код: procedure TCustomNotificationForm.CreateParams(var Params: TCreateParams); begin inherited CreateParams(Params); Params.ExStyle := Params.ExStyle Or WS_EX_TOPMOST Or WS_EX_TOOLWINDOW And (Not WS_EX_APPWINDOW); Params.WndParent := GetDesktopWindow; end; | 
| Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
|  
Помидоркин (01.05.2015)
 | ||
| 
			 
			#3  
			
			
			
			
		 | ||||
| 
 | ||||
|   Класс!!! То что доктор прописал. Правда я ничего не понял, тупо списал. Надеюсь - со временем разберусь. | 
| 
			 
			#4  
			
			
			
			
		 | |||
| 
 | |||
|   В декларации в классе не забудь override поставить. Суть этого прикола в том, что в момент создания окна (окна еще нет, только идет подготовка к его созданию), меняются некоторые параметры, с которыми окно должно быть создано. Теоретически, можно поменять эти параметры у уже созданного окна (через SetWindowLong), но не для всех это срабатывает. Например, не работает нормально для родителя (последняя строчка). | 
| Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
|  
Помидоркин (04.05.2015)
 | ||