![]() |
Datenbank: Access • Zugriff über: AdoDataset
DBNavigator durch eigene Buttons ersetzen...
Hallo Wissende!
Also in der Suche konnte ich leider noch nichts passendes finden, aber ich würde gern den optisch unattraktiven DBNavigator durch eigene Buttons oder Grafiken ersetzen. Nun meine Frage: Ist es möglich das Ganze so umzusetzen, dass die Stati der Buttons den des DBNaviagors entsprechen? Also wenn z.B. keine Datenanbindung vorhanden ist, dass dann die Buttons alle disabled sind. |
Re: DBNavigator durch eigene Buttons ersetzen...
Du könntest den Status mit dem der DataSource o. des DataSets vergleichen. Also z.B.
Delphi-Quellcode:
oder
btnNext.Enabled := DataSource1.Enabled;
Delphi-Quellcode:
Wobei ich noch nicht mit ADO gearbeitet habe, also nicht weis, wie dort die Pendants lauten
btnNext.Enabled := Table1.Active;
|
Re: DBNavigator durch eigene Buttons ersetzen...
Danke!
Müsste ich dann mit nem Timer ständig den Status abfragen, oder kann ich mich auch direkt an die AdoDataset hängen, um den Status zu erhalten ? |
Re: DBNavigator durch eigene Buttons ersetzen...
Wie gesagt, hab noch nie mitm ADO gearbeitet. Aber da es ja wahrscheinlich ein Nachfahr von TDataSet ist, schau mal nach, ob es das Ereigniss AfterClose gibt, vllt hilft dir das ja weiter.
|
Re: DBNavigator durch eigene Buttons ersetzen...
Zitat:
Die Buttons auf dem DBNavigator sind nicht anderes als SpeedButtons. Hier ein Beispiel, wie man auf die Buttons zugreifen kann:
Delphi-Quellcode:
Wichtig: das Glyph muss nebeneinander 2 Bildchen haben (eines für inaktiv und eines für aktiv).
type
TDBNavigatorCracker = class(TDBNavigator); procedure TForm1.BitBtn1Click(Sender: TObject); begin // kopiere das Glyph von BitBtn1 auf den "First"-button des Navigators TDBNavigatorCracker(DBNavigator1).Buttons[nbFirst].Glyph := BitBtn1.Glyph; end; Dann schreibst du dir eine Funktion namens PimpUpMyNavigator :spin2: und ersetzt alle Glyphs. Noch schlauer wäre es, wenn es gelingt alle Resourcen mit den Namen: 'dbn_FIRST', 'dbn_PRIOR', 'dbn_NEXT', 'dbn_LAST', 'dbn_INSERT', 'dbn_DELETE', 'dbn_EDIT', 'dbn_POST', 'dbn_CANCEL', 'dbn_REFRESH' in der Anwendung zu ersetzen. |
Re: DBNavigator durch eigene Buttons ersetzen...
Zitat:
|
Re: DBNavigator durch eigene Buttons ersetzen...
HAllo,
es gibt die dbctrl.res, hier sind die buttons des navigators "verankert". mit dem ResEdit kannst du die Bilder austauschen bzw. eine neue Datei erstellen. -> in der RunTime siehst du das Ergebnis, in der DesignTime bleibt es alt (ginge auch zu ändern, der Aufwand lohnt sich aber nicht). :-) thomas |
Re: DBNavigator durch eigene Buttons ersetzen...
man kann auch von deutschland nach russland laufen, kurz einen abstecher nach tokio machen, um nach rom zu kommen!
macht es nicht so umständlich!! next, first, privior, last! wie wärs damit? man kanns auch übertreiben! nimm als buttons tspeedbutton, setz deine grafik drüber, und fertig! wie du die dinger enablen und disablen kannst, wurde dir bereits gesagt! nimm dazu die ereignisse der table komponente onactivate punkt aus! mehr net! :x matthias |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz