Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   TImage ändern (https://www.delphipraxis.net/99518-timage-aendern.html)

f4k3 13. Sep 2007 10:44


TImage ändern
 
Seid gegrüßt liebe DP'ler :dancer2:

Erstmal paar Fakten:

1x Radiogroup
1x Image (hat aber ne Buttonfunktion)
1x DBGrid

Ich wähle in meiner Radiogroup eine Liste (Datenbank) aus, und klicke dann aufs Image ... wenn das Image angeklickt wird, soll das DBGrid auf Visible := True; gesetzt werden und die Datasource je nach ItemIndex meiner Radiogroup, auf eine Datasource zeigen.
Das funktioniert auch ;) h3h3

aber mein prob is, ich will sobald ich auf das Picture (Beschriftung 'Anzeigen') das Image gewechselt wird und ein anderes Picture (Beschriftung 'Ausblenden') angezeigt wird.

Wenn ich wiederum auf das Image klicke soll das Picture (Beschriftung 'Anzeigen') wieder geladen werden.

Ich hoffe ich verwirre euch nicht :roteyes:

Also war meine Idee das Pitcutre beim Buttonklick zu wechseln, eine Var anzulegen "iCount : Integer" und wenn der Counter > 0 ist soll das Image wieder gewechselt werden nur läufts noch nich so rund ... da ich nich weiß wie ich einen erneuten Buttonklick registrieren kann ... hier sieht mal mein Haxxor Code aus :coder: :D

Delphi-Quellcode:

procedure TfPostbuchToolsListen.iAnzeigenClick(Sender: TObject);
var i : Integer;
begin

        i := 0;

        iAnzeigen.Picture.LoadFromFile('O:\POSTAUSGANGSBUCH VERSION 1.00 (Remake)\Grafiken\JPG-Files\Buttons\Ausblenden.jpg');

        case rgListen.ItemIndex of

          0:   dbgListen.DataSource := SKunde;
          1:   dbgListen.DataSource := SPost;
          2:   dbgListen.DataSource := SBenutzer;

        end;

        // Bevor das i := 1 gesetzt wird, muss der Buttonklick registriert werden ... glaub ich zumindest ^^

        i := 1;

        if i > 0 then
        begin

          iAnzeigen.Picture.LoadFromFile ('O:\POSTAUSGANGSBUCH VERSION 1.00 (Remake)\Grafiken\JPG-Files\Buttons\Anzeigen.jpg');

        end;
end;
Das ganze sieht so aus

//edit: Bild-URL eingefügt

s-off 13. Sep 2007 10:56

Re: TImage ändern
 
Zitat:

Zitat von f4k3
Ich hoffe ich verwirre euch nicht :roteyes:

Zitat:

Zitat von f4k3
aber mein prob is, ich will sobald ich auf das Picture (Beschriftung 'Anzeigen') das Image gewechselt wird und ein anderes Picture (Beschriftung 'Ausblenden') angezeigt wird.

Naja, hättest Du Deinen Beitrag vor dem Abschicken nochmal gelesen, hätte ich diesen Satz nicht drei mal lesen müssen, um ihn zu verstehen :wink:

Also, ich gehe davon aus, dass das, was Du möchtest, eine Art Schalter darstellt.
Lege Dir bspw. im Private-Teil Deiner Klasse eine boolsche Variable 'bPressed' (oder so ähnlich) an, welche als Schalter dient.
In Deiner Bild-Drück-Routine überprüfst Du dann bPressed und reagierst entsprechend - am Ende dann noch
Delphi-Quellcode:
bPressed := not bPressed
aufrufen, um Deinen Schalter umzulegen.

f4k3 13. Sep 2007 12:18

Re: TImage ändern
 
hups :D Deutsche Sprache, schwere Sprache xD

Ähm ... joah könnte klappen, was mir aber grad noch so einfällt ...

Wenn ich ne andere Liste ansehen möchte ... Dann würd ich jedesmal die Liste erst wieder schließen und dann die andere liste wieder öffnen ... is irgendwie doof ...

Variante No. 1:

Ich erstell nen Btn der am Anfang unsichtbar ist, sichtbar wird wenn ich den "Anzeigen"-Btn drücke. Dann könnt ich wann ich will das Das Grid, und den "Ausblenden"-Btn wieder unsichtbar machen.

Variante No. 2:

Ich machs so wie dus gesagt hast ... und wechsel mein Grid, sobald ich 1x den "Anzeigen"-Btn gedrückt habe, nach Item.Index meiner Radiogroup, ohne jedesmal immer wieder auf anzeigen zu klicken ... (sofern möglich, ich != Delpi xD) ... und beim 2. Klick auf den Button das Grid wieder ausblenden.

Wobei ich denk dass die Variante No. 2 professioneller rüberkommt ... oder was meinst du/ihr?

Mfg F4k3

DP-Maintenance 13. Sep 2007 14:19

DP-Maintenance
 
Dieses Thema wurde von "MrSpock" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.
Delphi Frage.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:46 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