Delphi | Pgina
sobre a Linguagem |
Personalizando o DBNavigator01-09-2013
O DBNavigator um componente bastante til, j que possibilita uma interface para navegao e gerenciamento de dados. A navegao pelos registros d-se atravs dos botes First, Next, Prior, e Last (que, respectivamente, vai para o primeiro, o prximo, o anterior e o ltimo registro). No entanto, o DBNavigator peca pela personalizao No se pode inserir novas figuras (glyphs), textos descritivos abaixo delas, etc... Um DBNavigator Mais PoderosoOs componentes costumam possuir membros chamados protegidos ("protected"), que so invisveis aos desenvolvedores. Felizmente, h um meio de acess-los, utilizando uma tcnica conhecida como "protected hack".
Da unit DBCtrls (onde o componente DBNavigator est definido), ns iremos ler as propriedades protegidas dos botes conforme segue: Buttons: array[TNavigateBtn] of TNavButton; onde TNavButton herda de TSpeedButton e TNavigateBtn uma enumerao, definida como: TNavigateBtn = (nbFirst, nbPrior, nbNext, nbLast, nbInsert, nbDelete, nbEdit, nbPost, nbCancel, nbRefresh); Note que TNavigateBtn armazena 10 valores, cada um identificando um boto diferente do objeto TDBNavigator. Agora, vejamos como hacker um DBNavigator: Herdando Uma Nova Classe a Partir de DBNavigatorPrimeiro, crie um novo aplicativo no Delphi (clicando no menu File > New > Application) e adicione um DBNavigator, um DBGrid, um DataSoure e um componente do tipo Dataset de sua escolha (da paleta ADO, BDE, dbExpres, ...). Certifique-se de que as ligaes entre esses componentes esto feitas corretamente. Em segundo lugar, defina uma nova classe herdada de DBNavigator, antes da declarao do Form, conforme segue:
Em seguida, para que possamos exibir captions e grficos em cada boto do DBNavigator, ns precisamos selecionar algumas glyphs (figuras). Uma sugesto usar um componente TImageList e adicionar 10 figuras a ele (do tipo .bmp ou .ico), cada um representando uma ao em particular do DBNavigator. Depois, na parte private do formulrio, coloque isso:
Note que voc pode controlar quais botes podem estar visveis num DBNavigator atravs de sua propriedade VisibleButtons, mas isso no se aplica mais a nossa nova classe THackDBNavigator. Outra propriedade que talvez voc queira mudar seja Hints, usada para mostrar dicas informativas na tela sobre cada boto do DBNavigator, quando o usurio move o mouse sobre eles. Voc pode permitir que essas dicas sejam exibidas simplesmente deixando a propriedade ShowHints em True. Fonte: delphi.about.com |
- Todos os artigos - |