AGB  ·  Datenschutz  ·  Impressum  







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

Button hinzufügen JInspector

Ein Thema von EWeiss · begonnen am 8. Sep 2008 · letzter Beitrag vom 8. Sep 2008
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

Button hinzufügen JInspector

  Alt 8. Sep 2008, 11:23
Weiss jemand wie ich im JInspector einen Button hinzufügen kann ?
Unter dem eintrag Picture im Image Control ist es nicht mögich ein Bild einzuladen.

gruss Emil
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: Button hinzufügen JInspector

  Alt 8. Sep 2008, 12:20
Das hier habe ich mal schnell zusammengeschrieben (=zusammenkopiert)
Delphi-Quellcode:
type
  TJvInspectorPictureItem = class(TJvCustomInspectorItem)
  protected
    function GetDisplayValue: string; override;
    procedure Edit; override;
  public
    constructor Create(const AParent: TJvCustomInspectorItem; const AData: TJvCustomInspectorData); override;
  end;


constructor TJvInspectorPictureItem .Create(const AParent: TJvCustomInspectorItem;
  const AData: TJvCustomInspectorData);
begin
  inherited Create(AParent, AData);
  Flags := Flags + [iifEditButton, iifEditFixed];
end;

function TJvInspectorPictureItem.GetDisplayValue: string;
begin
  if TPicture(Data.AsOrdinal).IsEmpty then
    Result := '(kein Bild)'
  else
    Result := '(Bild)';
end;

procedure TJvInspectorMacroItem.Edit;
var
  Pic: TPicture;
begin
  Pic := TPicture(Data.AsOrdinal);
  ShowPictureEditor(Pic);
end;


initialization
  TJvCustomInspectorData.ItemRegister.Add(TJvInspectorTypeInfoRegItem.Create(TJvInspectorPictureItem , TypeInfo(TPicture)));
end.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

Re: Button hinzufügen JInspector

  Alt 8. Sep 2008, 12:35
@Andreas danke für die Infos
Habe jetzt den Code nicht studiert möchte aber mal zeigen wie ich den Inspector fülle.

Delphi-Quellcode:
        UIObject.ShowSelProperties(FInspector,aCtrl,
          ['Autosize' ,'Width', 'Height', 'Picture'], 'Background Picture');
Delphi-Quellcode:
procedure TCAVEUIObject.ShowSelProperties(Inspector: TJvInspector;
  aObj: TObject; Props: array of string; NodeText: string);
var
  i : integer;
  Category: TJvInspectorCustomCategoryItem;

begin
  Inspector.Root.Clear;

  Category := TJvInspectorCustomCategoryItem.Create(Inspector.Root, nil);
  Category.DisplayName := NodeText;
  Inspector.Root.SortKind := iskNone;

  for i:=Low(Props) to High(Props) do
    TJvInspectorPropData.New(Category, aObj, GetPropInfo(aObj, Props[i]));

  Category.Expanded := True;
end;
Es werden also vom TImage nur die oben übergebenen Eigenschaften übergeben.
Di eigenschaft Picture ist dann vorhanden was mir fehlt ist hinter dieser eigenschaft ein Button
mit dem ich einen Dialog aufrufen kann um ein bild auswählen zu können.

Werd mir dein Beispiel nochmal genau anschauen .. denke aber nur um einen Button zu adddieren
scheint mir das recht viel an Code.. oder ich habe mich wiedermal nicht richtig ausgedrückt

EDIT:
Bei der Initialisierung registriere ich ja schon die defaulteigenschaften
TJvInspectorTImageIndexItem.RegisterAsDefaultItem; Könntest du mir bitte einen Link geben woher du diese Infos hast ?

ShowPictureEditor(Pic); >>>> nicht vorhanden
Eigenschaft IsEmpty nicht vorhanden bei TPicture
FUnktion Edit .. auch nicht von TJvInspectorMacroItem.Edit
Data.AsOrdina gibt es auch nicht..

gruss Emil
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4

Re: Button hinzufügen JInspector

  Alt 8. Sep 2008, 17:57
Zitat von EWeiss:
Könntest du mir bitte einen Link geben woher du diese Infos hast ?
Ich habe einfach die JvInspExtraEditors.pas geöffnet und dort etwas gestöbert.

Zitat:
ShowPictureEditor(Pic); >>>> nicht vorhanden
Liegt wohl daran, dass du die selbst schreiben musst.

Zitat:
Eigenschaft IsEmpty nicht vorhanden bei TPicture
Ich habe das einfach mal so heruntergetippt. Das musst du einfach durch "Pic.Graphic = nil" ersetzen

Zitat:
FUnktion Edit .. auch nicht von TJvInspectorMacroItem.Edit
Data.AsOrdina gibt es auch nicht..
Ich nutze die JVCL 3.34 hier.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

Re: Button hinzufügen JInspector

  Alt 8. Sep 2008, 18:16
Danke dann muss ich mal schaun..
traurig das es nicht mal ne Anleitung zu der Komponente gibt.

Benutze auch die 3.34

EDIT:
Nach kleinen änderungen was die Classen betrifft funktioniert es jetzt prächtig
mit den einfügen von Button.

gruss Emil
  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 22:56 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