Renderizando o Layout
Assim como outros componentes, existem regras "css" pré-definidas que vão oferecer um visual padrão e conciso aos componentes de edição nativos.
Além do css padrão, a renderização dinâmica de layout é feita pelas procedures abaixo e na grande maioria utilizam a propriedade HINT para interpretar o que deve ser renderizado.
Esse tópico é de extrema importância e você precisa observar os exemplos ( versão BRASIL / GLOBAL ) e observar onde são usadas.( use a pesquisa do DELPHI para encontrar as referências a essas funções/procedures ).
rc_BootStrapRender
Aplica html/css boostrap dinamicamente.
A lista de "comandos" nessa categoria está contida na constante "BS_COMPONENTS"
rc_RenderControls
Aplica classes CSS pré-definidas, arredondamento de Panels etc nos objetos da tela atual.
Quando executado no Main.pas, ajusta alguns componentes específicos.
A função "rc_RenderControls" também poderá ser usada quando criar componentes em runtime ou pra ajustar especificamente apenas um componente:
rc_RenderControls( pForm: TObject; pOnlyThisObj : TUniControl = nil )
rc_AdjustEditColors
Aplica cores, font... baseado nas configurações do controle de temas em todos componentes de entrada de dados( uniEdit, uniDbEdit etc. )
Obs: Qualquer tela que você criar que não herde essas funcionalidades, basta adicioná-las no respectivo Form / Frame OnCreate/OnReady.
Para simplificar foi criada a função rc_RenderLayout que contempla todas as funções necessárias.
Em alguma circuntância você pode chamar individualmente:
dm_rc.rc_ColorButtons( self );
dm_rc.rc_BootStrapRender( self );
dm_rc.rc_AdjustEditColors( self );
Onde Self será o seu FORM/FRAME.
Renderizando um FRAME:
No Evento OnCREATE adicione:
rc_RenderLayout( Self, false, false, true, false );
No evento OnReady adicione:
dm_rc.rc_ResizeBlocks( Self, true, true );
Ex: frmBase...
Renderizando um FORM:
No Evento OnBEFORESHOW adicione:
rc_RenderLayout( Self, true, true, true );
Os FORMS no UNIGUI tem uma renderização um pouco diferente dos FRAMES e, dependendo do seu layout, pode ser necessário usar também:
No Evento OnFormCREATE adicione:
rc_RenderLayout( Self, false, false, false, false );
Ex: frmGenericModalForm, untDEMOWITHFORMMODAL...
>>> IMPORTANTE
> Na renderização do FRAME ou do FORM, adicione as units: untdm_rc e mkm_layout
> Quando seu formulário não está sendo chamado pelo MENU PRINCIPAL é necessário adicionar no evento FormDestroy a seguinte linha:
mm.varC_Form_Modal := nil;
Isso evitará quando um FORM MODAL estiver ativo, não seja executado o "dbGridUpdate" no que estiver "abaixo" do MODAL, poupando processamento.
Created with the Personal Edition of HelpNDoc: Free PDF documentation generator