Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Unterscheidung Grafik / OLE-Objekt


galagher - So 03.05.15 19:42
Titel: Unterscheidung Grafik / OLE-Objekt
Hallo!

Wieder einmal habe ich eine Frage zu TJvRichEdit von den Jedis:

Es gibt da ja die Möglichkeit, ausser Text auch Grafiken und Dateien (als OLE-Objekt) einzufügen. Nun gibt es zur Unterscheidung des selektierten Objekts in JvRichEdit.pas dieses: TRichSelection = (stText, stObject, stMultiChar, stMultiObject);
stText ist klar, stMultiChar und stMultiObject sind mir(!) nicht klar, wobei stMultiObject aber kein OLE-Objekt ist. Bleibt stObject, welches sowohl Grafiken als auch OLE-Objekte bedeuten kann.

Wie kann ich nun eine Unterscheidung treffen, ob nun eine Grafik oder ein OLE-Objekt, also eine eingebettete Datei, ausgewählt sind?

Ich brauche konkret eine Möglichkeit, OLE-Objekte zu erkennen!


Delete - So 03.05.15 23:29

Wie wär's damit? [http://wiki.delphi-jedi.org/wiki/JVCL_Help:TRichSelection#Members]


Quelltext
1:
2:
3:
4:
stText          Text.
stObject        At least one Component Object Model (COM) object.
stMultiChar     More than one character of text.
stMultiObject   More than one COM object.


Wenn ich das richtig interpretiere, wird dem Property TRichSelection stObject zugewiesen, wenn du ein einzelnes Com-Objekt selektiert hast, bei mehreren dagegen stMultiObjekt.


galagher - Mo 04.05.15 19:31

user profile iconPerlsau hat folgendes geschrieben Zum zitierten Posting springen:
Wie wär's damit? [http://wiki.delphi-jedi.org/wiki/JVCL_Help:TRichSelection#Members]
Ja, Google hilft... :oops:

user profile iconPerlsau hat folgendes geschrieben Zum zitierten Posting springen:
Wenn ich das richtig interpretiere, wird dem Property TRichSelection stObject zugewiesen, wenn du ein einzelnes Com-Objekt selektiert hast, bei mehreren dagegen stMultiObjekt.
Stimmt, aber es findet keine Unterscheidung statt, ob es sich dabei um eine normale, eingefügte Grafik oder um eine eingebettete Datei handelt - es ist jedenfalls stObject!

Kann man das vielleicht mit eigenem Code differenzieren?