unit DrieKnoppenScherm; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ActnList, Images, Vcl.ImgList, UiContext, Vcl.ExtCtrls; type TfmDrieKnoppenScherm = class(TForm) alKnoppenOnder: TActionList; actLinksOnder: TAction; actCentraalOnder: TAction; actRechtsOnder: TAction; alAlgemeen: TActionList; actVolgende: TAction; actHome: TAction; actAfsluiten: TAction; actUitloggen: TAction; actPallet: TAction; actOngedaanMaken: TAction; actSluiten: TAction; pnlDrieKnoppen: TPanel; btnLinksOnder: TButton; btnCentraalOnder: TButton; btnRechtsOnder: TButton; actSchermRechts: TAction; actSchermLinks: TAction; pnlTop: TPanel; lblGebruiker: TLabel; pnlLinksOnder: TPanel; pnlCentraalOnder: TPanel; pnlRechtsOnder: TPanel; imgLinksOnder: TImage; imgCentraalOnder: TImage; imgRechtsOnder: TImage; procedure FormShow(Sender: TObject); procedure FormCreate(Sender: TObject); procedure imgLinksOnderClick(Sender: TObject); procedure imgCentraalOnderClick(Sender: TObject); procedure imgRechtsOnderClick(Sender: TObject); private fImagesScherm: TImagesScherm; fUiContext: TUiContext; protected function ComputerName: String; function ToonPopupScherm(Melding, Actie1: String; Actie2: String = ''): TModalResult; public property UiContext: TUiContext Read fUiContext Write fUiContext; end; var fmDrieKnoppenScherm: TfmDrieKnoppenScherm; implementation uses PopupScherm; {$R *.dfm} procedure TfmDrieKnoppenScherm.FormCreate(Sender: TObject); begin actLinksOnder := nil; actCentraalOnder := nil; actRechtsOnder := nil; lblGebruiker.Visible := false; fImagesScherm := TImagesScherm.Create(self); end; procedure TfmDrieKnoppenScherm.FormShow(Sender: TObject); begin btnLinksOnder.Visible := false; btnCentraalOnder.Visible := false; btnRechtsOnder.Visible := false; btnLinksOnder.Images := fImagesScherm.ilAlgemeen48; btnCentraalOnder.Images := fImagesScherm.ilAlgemeen48; btnRechtsOnder.Images := fImagesScherm.ilAlgemeen48; if btnLinksOnder.Action <> nil then begin fImagesScherm.ilAlgemeen128.GetIcon(btnLinksOnder.ImageIndex, imgLinksOnder.Picture.Icon); end; if btnCentraalOnder.Action <> nil then begin fImagesScherm.ilAlgemeen128.GetIcon(btnCentraalOnder.ImageIndex, imgCentraalOnder.Picture.Icon); end; if btnRechtsOnder.Action <> nil then begin fImagesScherm.ilAlgemeen128.GetIcon(btnRechtsOnder.ImageIndex, imgRechtsOnder.Picture.Icon); end; lblGebruiker.Caption := UiContext.Initialen; if lblGebruiker.Caption <> '' then begin lblGebruiker.Visible := true; end; end; procedure TfmDrieKnoppenScherm.imgLinksOnderClick(Sender: TObject); begin if btnLinksOnder.Action<>nil then begin btnLinksOnder.Action.Execute; CloseModal; end; end; procedure TfmDrieKnoppenScherm.imgCentraalOnderClick(Sender: TObject); begin if btnCentraalOnder.Action<>nil then begin btnCentraalOnder.Action.Execute; CloseModal; end; end; procedure TfmDrieKnoppenScherm.imgRechtsOnderClick(Sender: TObject); begin if btnRechtsOnder.Action<>nil then begin btnRechtsOnder.Action.Execute; CloseModal; end; end; function TfmDrieKnoppenScherm.ToonPopupScherm(Melding, Actie1: String; Actie2: String = ''): TModalResult; var PopupScherm: TfmPopupScherm; begin PopupScherm := TfmPopupScherm.Create(self); PopupScherm.lblWaarschuwing.Caption := Melding; PopupScherm.pnlbtnActie1.Caption := Actie1; if Actie2 <> '' then begin PopupScherm.pnlbtnActie1.Width := 134; PopupScherm.pnlbtnActie2.Visible := True; PopupScherm.pnlbtnActie2.Caption := Actie2; end; result := PopupScherm.ShowModal; end; function TfmDrieKnoppenScherm.ComputerName: String; var buffer: array[0..255] of char; size: dword; begin size := 256; if GetComputerName(buffer, size) then Result := buffer else Result := '' end; end.