Einzelnen Beitrag anzeigen

Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
831 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: ButtonClick wird nicht ausgeführt

  Alt 6. Sep 2012, 15:38
Nicht das ich das bewusst gemacht hätte...

Anbei der gesamte Code dieser Unit:
Delphi-Quellcode:
unit UnitAgenda;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes,
  Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Grids, Vcl.ExtCtrls,
  Vcl.Menus, Vcl.StdCtrls, Planner, AdvObj, BaseGrid, AdvGrid, Vcl.ImgList,
  W7Classes, W7Buttons, Vcl.Buttons, Codes;

type
  TWSAgenda = class(TFrame)
    PanelAgenda: TPanel;
    PanelZeitraum: TPanel;
    PanelAgendaListe: TPanel;
    Panel3: TPanel;
    Splitter3: TSplitter;
    Splitter4: TSplitter;
    PopupZeitraum: TPopupMenu;
    PopupAgenda: TPopupMenu;
    bearbeiten1: TMenuItem;
    N1: TMenuItem;
    Zeitraumhinzufgen1: TMenuItem;
    Zeitraumlschen1: TMenuItem;
    bearbeiten2: TMenuItem;
    N2: TMenuItem;
    AgendaPunkthinzufgen1: TMenuItem;
    AgendaPunktlschen1: TMenuItem;
    Panel1: TPanel;
    Panel2: TPanel;
    PanelZiele: TPanel;
    Planner1: TPlanner;
    GridZeitraum: TAdvStringGrid;
    GridZiele: TAdvStringGrid;
    ImageList1: TImageList;
    ButtonAgendaBearbeiten: TSpeedButton;
    ButtonAgendaLoeschen: TSpeedButton;
    ButtonAgendaNeu: TSpeedButton;
    Panel7: TPanel;
    Splitter5: TSplitter;
    Splitter6: TSplitter;
    Panel6: TPanel;
    Splitter1: TSplitter;
    Splitter2: TSplitter;
    ButtonZeitraumBearbeiten: TSpeedButton;
    ButtonZeitraumNeu: TSpeedButton;
    ButtonZeitraumLoeschen: TSpeedButton;
    ButtonZieleBearbeiten: TSpeedButton;
    ButtonZieleNeu: TSpeedButton;
    ButtonZieleLoeschen: TSpeedButton;
    procedure FrameResize(Sender: TObject);
    procedure Planner1ItemDelete(Sender: TObject; Item: TPlannerItem);
    procedure Planner1ItemInsert(Sender: TObject; Position, FromSel,
      FromSelPrecise, ToSel, ToSelPrecise: Integer);
    procedure ButtonAgendaLoeschenClick(Sender: TObject);
    procedure ButtonAGendaBearbeitenClick(Sender: TObject);
    procedure ButtonAgendaNeuClick(Sender: TObject);
    procedure ButtonZeitraumLoeschenClick(Sender: TObject);
    procedure ButtonZeitraumBearbeitenClick(Sender: TObject);
    procedure ButtonZieleBearbeitenClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

implementation

{$R *.dfm}

procedure TWSAgenda.FrameResize(Sender: TObject);
begin

  ImageList1.GetBitmap(64, ButtonZeitraumBearbeiten.Glyph);
  ImageList1.GetBitmap(18, ButtonZeitraumNeu.Glyph);
  ImageList1.GetBitmap(5, ButtonZeitraumLoeschen.Glyph);

  ImageList1.GetBitmap(64, ButtonZieleBearbeiten.Glyph);
  ImageList1.GetBitmap(18, ButtonZieleNeu.Glyph);
  ImageList1.GetBitmap(5, ButtonZieleLoeschen.Glyph);

  ImageList1.GetBitmap(64, ButtonAgendaBearbeiten.Glyph);
  ImageList1.GetBitmap(18, ButtonAgendaNeu.Glyph);
  ImageList1.GetBitmap(5, ButtonAgendaLoeschen.Glyph);

  Panel1.Height:=round(PanelAgenda.Height*0.21);
  PanelZeitraum.Width:=round(PanelAgenda.Width*0.45);
    GridZeitraum.ColWidths[0]:=25;
    GridZeitraum.ColWidths[1]:=round((GridZeitraum.Width)*0.20);
    GridZeitraum.ColWidths[2]:=round((GridZeitraum.Width)*0.20);
    GridZeitraum.ColWidths[3]:=round((GridZeitraum.Width)*0.41);
    GridZeitraum.ColWidths[4]:=(GridZeitraum.Width-GridZeitraum.ColWidths[0]-
                            GridZeitraum.ColWidths[1]-GridZeitraum.ColWidths[2])-
                            GridZeitraum.ColWidths[3]-25;

  //PanelZiele
    GridZiele.ColWidths[0]:=25;
    GridZiele.ColWidths[2]:=40;
    GridZiele.ColWidths[1]:=Gridziele.Width-GridZiele.ColWidths[0]-
                                            GridZiele.ColWidths[2]-25;

  //Übershriften
  //Zeitraum
  GridZeitraum.Cells[0,0]:='Nr';
  GridZeitraum.Cells[1,0]:='Von';
  GridZeitraum.Cells[2,0]:='Bis';
  GridZeitraum.Cells[3,0]:='Ort';
  GridZeitraum.Cells[4,0]:='KW';

  GridZiele.Cells[0,0]:='Nr';
  GridZiele.Cells[1,0]:='Ziel';
  GridZiele.Cells[2,0]:='Status';

end;

procedure TWSAgenda.Planner1ItemDelete(Sender: TObject; Item: TPlannerItem);
begin
  Planner1.FreeItem(Item);
end;

procedure TWSAgenda.Planner1ItemInsert(Sender: TObject; Position, FromSel,
  FromSelPrecise, ToSel, ToSelPrecise: Integer);
begin
  with Planner1.CreateItemAtSelection do
    begin
      Text.Text:='Item created at runtime on '+Formatdatetime('hh:nn dd/mm/yyyy',Now);
      Update;
    end;
end;

procedure TWSAgenda.ButtonAGendaBearbeitenClick(Sender: TObject);
begin
  if ButtonAgendaBearbeiten.Caption='Bearbeitenthen
    begin
      ButtonAgendaBearbeiten.Caption:='Speichern';
      ButtonAgendaBearbeiten.Glyph:=nil;
      ImageList1.GetBitmap(29, ButtonAgendaBearbeiten.Glyph);
      ButtonAgendaNeu.Visible:=true;
      ButtonAgendaLoeschen.Visible:=true;
    end
  else
    begin
      ButtonAgendaBearbeiten.Caption:='Bearbeiten';
      ButtonAgendaBearbeiten.Glyph:=nil;
      ImageList1.GetBitmap(64, ButtonAgendaBearbeiten.Glyph);
      ButtonAgendaNeu.Visible:=false;
      ButtonAgendaLoeschen.Visible:=false;
    end;
end;

procedure TWSAgenda.ButtonAgendaLoeschenClick(Sender: TObject);
begin
  PostKeyEx32(VK_delete, [], False);
end;

procedure TWSAgenda.ButtonAgendaNeuClick(Sender: TObject);
begin
  PostKeyEx32(VK_insert, [], False);
end;


procedure TWSAgenda.ButtonZeitraumBearbeitenClick(Sender: TObject);
begin
  if ButtonZeitraumBearbeiten.Caption='Bearbeitenthen
    begin
      ButtonZeitraumBearbeiten.Glyph:=nil;
      ImageList1.GetBitmap(29, ButtonZeitraumBearbeiten.Glyph);
      ButtonZeitraumBearbeiten.Caption:='Speichern';
      ButtonZeitraumNeu.Visible:=true;
      ButtonZeitraumLoeschen.Visible:=true;
    end
  else
    begin
      ButtonZeitraumBearbeiten.Caption:='Bearbeiten';
      ButtonZeitraumBearbeiten.Glyph:=nil;
      ImageList1.GetBitmap(64, ButtonZeitraumBearbeiten.Glyph);
      ButtonZeitraumNeu.Visible:=false;
      ButtonZeitraumLoeschen.Visible:=false;
    end;
end;

procedure TWSAgenda.ButtonZeitraumLoeschenClick(Sender: TObject);
begin
  showmessage(inttostr(Panel3.Font.Size)+','+inttostr(Panel6.font.Size));
end;

procedure TWSAgenda.ButtonZieleBearbeitenClick(Sender: TObject);
begin
  if ButtonZieleBearbeiten.Caption='Bearbeitenthen
    begin
      ButtonZieleBearbeiten.Caption:='Speichern';
      ButtonZieleBearbeiten.Glyph:=nil;
      ImageList1.GetBitmap(29, ButtonZieleBearbeiten.Glyph);
      ButtonZieleNeu.Visible:=true;
      ButtonZieleLoeschen.Visible:=true;
    end
  else
    begin
      ButtonZieleBearbeiten.Caption:='Bearbeiten';
      ButtonZieleBearbeiten.Glyph:=nil;
      ImageList1.GetBitmap(64, ButtonZieleBearbeiten.Glyph);
      ButtonZieleNeu.Visible:=false;
      ButtonZieleLoeschen.Visible:=false;
    end;
end;

end.
Die drittletzte Procedure (ButtonZeitraumBearbeitenClick) und die letzte (ButtonZieleBearbeitenClick) funktionieren nicht mehr... Die gleiche Procedure wird noch an einer anderen Stellen ausgeführt (ButtonAGendaBearbeitenClick), bei der einen klappt es und bei den zweien nicht mehr... Gestern Abend klappte es noch und heute morgen habe ich nur neu compiliert und dann reagierten die Buttons nicht mehr...
Die Procedure soll eigentlich nur zwei Speedbuttons sicht bzw. unsichtbar machen und die Icons auf den Speedbutton steuern...
Patrick
  Mit Zitat antworten Zitat