¿Cómo puedo encontrar todos los controles en un formulario que actualmente están visibles para el usuario? es decir, enumerar todos los controles a los que se puede aplicar pestañas y que no están ocultos a la vista (por ejemplo, en una hoja de pestañas no visible).Buscar todos los controles que son visibles para el usuario
8
A
Respuesta
14
Dado que usted escribe que desea enumerar los controles que puede tabular, supongo que está hablando de controles con ventana.
A continuación, puede hacerlo simplemente
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
for i := 0 to ComponentCount - 1 do
if Components[i] is TWinControl then
if TWinControl(Components[i]).CanFocus then
Memo1.Lines.Add(Components[i].Name)
end;
si sabe que la forma es titular de todos sus hijos y no hay otros controles. De lo contrario, debe hacer
procedure AddVisibleChildren(Parent: TWinControl; Memo: TMemo);
var
i: Integer;
begin
for i := 0 to Parent.ControlCount - 1 do
if Parent.Controls[i] is TWinControl then
if TWinControl(Parent.Controls[i]).CanFocus then
begin
Memo.Lines.Add(Parent.Controls[i].Name);
AddVisibleChildren(TWinControl(Parent.Controls[i]), Memo);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
AddVisibleChildren(Self, Memo1);
end;
Cuestiones relacionadas
- 1. jquery validación solo para controles visibles
- 2. Todos los controles son nulos dentro de usercontrol
- 3. Android Marketplace: ¿Los detalles (nombre, etc.) en el almacén de claves son visibles para el usuario?
- 4. ¿WPF tiene controles equivalentes para todos los controles de Winforms?
- 5. Rails ActiveRecord: Buscar todos los usuarios excepto el usuario actual
- 6. Pasa por todos los controles de usuario en una página
- 7. Buscar todos los implícitos
- 8. Android MapView -configurando el zoom automáticamente hasta que todos los objetos detallados estén visibles
- 9. buscar todos los registros donde dos condiciones son verdaderas
- 10. Buscar lista de todos los registros por usuario usando TortoiseSVN
- 11. ASP.Net Controles personalizados frente a controles de usuario: ¿Son estos dos los mismos
- 12. Configuración de la propiedad VerticalAlignment para todos los controles
- 13. Buscar todos los registros que tienen un campo no nulo?
- 14. Detectar todos los cambios (realizados por el usuario) al texto en controles en el formulario
- 15. Los controles agregados en el diseñador son nulos durante Page_Load
- 16. Método genérico para encontrar todos los controles TextBox en Silverlight
- 17. ASP.NET MVP - Utilizando los controles de usuario
- 18. índices Solr no son visibles
- 19. Git buscar todos los diffs
- 20. ¿Por qué las variables declaradas con "nuestro" son visibles en todos los archivos?
- 21. Buscar todos los archivos en un directorio que no son directorios en sí
- 22. Web.config ¿Es posible registrar todos los controles de usuario en el directorio especificado
- 23. Buscar todos los archivos bloqueados en TFS
- 24. Cómo orientar todos los controles (Estilos WPF)
- 25. encuentra todos los que son nulos en la asociación
- 26. Uso excesivo de ASP.Net de los controles de usuario
- 27. Los controles de datos no deberían actualizarse si no están visibles
- 28. elementos Conde li que son visibles con jQuery
- 29. ¿Cómo puedo obtener todos los controles de un formulario que incluye controles en cualquier contenedor?
- 30. Buscar todos los controles secundarios de tipo específico utilizando Enumerable.OfType <T>() o LINQ
La parte anterior al 'i.e.' no coincide exactamente con la parte posterior. Por ejemplo, antes de eso, los 'controles' no necesitan ventana, y pueden ser deshabilitados. Después de eso, tienen que estar tanto en ventanas como habilitados. –