AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Bedienung eines Controls sperren

Ein Thema von skoschke · begonnen am 5. Okt 2023 · letzter Beitrag vom 8. Okt 2023
Antwort Antwort
skoschke

Registriert seit: 6. Jan 2009
523 Beiträge
 
Delphi 10.4 Sydney
 
#1

Bedienung eines Controls sperren

  Alt 5. Okt 2023, 09:31
Hallo,

ich stehe vor einem Problem in einer Windows / Android App:

Ein Formular enthält den Gnostice DocumentViewer um PDF's anzuzeigen.
Die Dokumente enthalten Formularfelder, die aber in der Anzeige "nicht bedienbar", also readonly sein sollen.

Hierfür bietet Gnostice aber keine Einstellmöglichkeit, so dass ich mir gedacht habe, darüber ein TPanel mit Opacity = 0 zu legen, das das Tippen in das Control abfangen soll.

Leider kommen Klicks immer noch auf dem DocumentViewer darunter an!

Hat jemand bitte eine bessere Idee?

Ciao
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
880 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Bedienung eines Controls sperren

  Alt 5. Okt 2023, 09:53
Was ist, wenn du den Viewer auf ein Panel packst, und beim Panel Enabled auf False setzt?
The angels have the phone box.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#3

AW: Bedienung eines Controls sperren

  Alt 5. Okt 2023, 10:24
Zitat:
Was ist, wenn du den Viewer auf ein Panel packst, und beim Panel Enabled auf False setzt?
Sowas ähnliches habe ich mit Grids auch. Diese Lösung funktioniert nicht wirklich. Bei den Grids funktionieren dann auch die Scrollbanken nicht. Beim PDF sollte das aber bedienbar sein.

1. Gibt es etwas wie "ReadOnly"?
2. einen Bevel drüberlegen?
3. Kann man das mißbrauchen? https://www.delphipraxis.net/174329-...erhindern.html

Geändert von haentschman ( 5. Okt 2023 um 10:37 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.354 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Bedienung eines Controls sperren

  Alt 5. Okt 2023, 10:36
Die Klasse TgtPDFViewer hat Ereignisse, die eventuell von dir genutzt werden können:
- OnFormFieldFocus
- OnFormFieldValueChanged

Ich kann mir vorstellen, dass du dort verhindern kannst, dass man etwas ändert.
Ganz sicher bin ich mir aber nicht, da ich keine gnostice-Komponenten habe.
Peter
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#5

AW: Bedienung eines Controls sperren

  Alt 5. Okt 2023, 10:39
Acrobat hatte sich da auch extrem geweigert.

Wir nutzen inzwischen zur Anzeige die PDF-Komponente von DevExpress,
entweder direkt, oder in einem Thread wird die erste Seite für eine MiniVorschau auf ein Bitmap gemalt.


Es kommt auch drauf an, wie und wo die Komponenten auf die Ereignisse reagieren. (z.B. als eigenständiges Fenster, womöglich auch noch in einem anderen Thread oder gar Prozess, welches dort eingeblendet wurde)
Oder die Maus asynchron abgefragt.

Da hilft es dann auch wenig, wenn man ein durchsichtiges Control drüber legt, oder deren Control z.B. ableitet und die Maus-/Tastaturereignisse überschreibt. (beim Überschreiben könnte man aber auch leichter prüfen, ob es z.B. an eine Scrollbar geht, bzw. welcher Bereich angeklickt wurde, um das Abfangen nicht auf alles anzuwenden)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
skoschke

Registriert seit: 6. Jan 2009
523 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Bedienung eines Controls sperren

  Alt 8. Okt 2023, 08:50
Zitat:
Die Klasse TgtPDFViewer hat Ereignisse,
Danke

das war genau der richtige Ansatz!
OnClick hat eine var Continue, die auf false und das Ändern von Feldern ist gesperrt!

Ciao
Stefan
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz