📄 untnewlabel.pas
字号:
unit UntNewLabel;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, UntMain, UDM, DB, ADODB, ExtCtrls, StdCtrls, Buttons, Mask,
DBCtrlsEh, DBActns, ActnList, GridsEh, DBGridEh, Menus;
type
TfrmNewLabel = class(TForm)
qryLabel: TADOQuery;
pnlTitle: TPanel;
lblTitle: TLabel;
lblTitle1: TLabel;
imgLabel: TImage;
dsLabel: TDataSource;
pnlDH: TPanel;
qryLblDetail: TADOQuery;
dsLblDetail: TDataSource;
dbgrdhLabelM: TDBGridEh;
pnlLblDtl: TPanel;
dbgrdhLabeld: TDBGridEh;
pmMlbl: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure btnExitClick(Sender: TObject);
procedure qryLblDetailBeforePost(DataSet: TDataSet);
procedure qryLabelBeforePost(DataSet: TDataSet);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure pmMlblPopup(Sender: TObject);
procedure dbgrdhLabelMMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure dbgrdhLabeldMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure qryLabelAfterScroll(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmNewLabel: TfrmNewLabel;
implementation
{$R *.dfm}
procedure TfrmNewLabel.FormCreate(Sender: TObject);
begin
frmMain.ChildFrm.Add(self.Name);
If not qryLabel.Active then
qryLabel.Open;
end;
procedure TfrmNewLabel.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
var
i:integer;
begin
for i:=0 to frmMain.ChildFrm.Count-1 do
if frmMain.ChildFrm.Strings[i] = Self.Name then
frmMain.ChildFrm.Delete(i);
frmNewLabel := nil;
end;
procedure TfrmNewLabel.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
action := caFree;
end;
procedure TfrmNewLabel.btnExitClick(Sender: TObject);
begin
Close;
end;
procedure TfrmNewLabel.qryLblDetailBeforePost(DataSet: TDataSet);
begin
If qryLabel.State in [dsEdit,dsInsert] then qryLabel.Post;
qryLblDetail.FieldByName('LblID').AsString := qryLabel.fieldByName('LblID').AsString;
end;
procedure TfrmNewLabel.qryLabelBeforePost(DataSet: TDataSet);
begin
if (qryLabel.State in [dsInsert]) then
qryLabel.FieldByName('LblID').AsString := FormatDateTime('yymmddhhnnss',Now);
end;
procedure TfrmNewLabel.N1Click(Sender: TObject);
begin
with (pmMlbl.PopupComponent as TDBGridEh).DataSource.DataSet do
begin
if not Active then Open;
Last;
Append;
end;
end;
procedure TfrmNewLabel.N2Click(Sender: TObject);
begin
with (pmMlbl.PopupComponent as TDBGridEh).DataSource.DataSet do
begin
if not Active then Exit;
if Recordcount < 1 then Exit;
Edit;
end;
end;
procedure TfrmNewLabel.N3Click(Sender: TObject);
begin
with (pmMlbl.PopupComponent as TDBGridEh).DataSource.DataSet do
begin
if not Active then exit;
if RecordCount < 1 then Exit;
Delete;
end;
end;
procedure TfrmNewLabel.N4Click(Sender: TObject);
begin
with (pmMlbl.PopupComponent as TDBGridEh).DataSource.DataSet do
begin
If not Active then Exit;
If (State in [dsEdit,dsInsert]) then
Post;
end;
end;
procedure TfrmNewLabel.N5Click(Sender: TObject);
begin
with (pmMlbl.PopupComponent as TDBGridEh).DataSource.DataSet do
begin
If not Active then Exit;
If (State in [dsEdit,dsInsert]) then
Cancel;
end;
end;
procedure TfrmNewLabel.pmMlblPopup(Sender: TObject);
begin
with (pmMlbl.PopupComponent as TDBGridEh).DataSource.DataSet do
begin
If not Active then Exit;
If (State in [dsEdit,dsInsert]) then
begin
pmMlbl.Items[0].Enabled := False;
pmMlbl.Items[1].Enabled := False;
pmMlbl.Items[2].Enabled := False;
pmMlbl.Items[3].Enabled := True;
pmMlbl.Items[4].Enabled := True;
end
else
begin
pmMlbl.Items[0].Enabled := True;
pmMlbl.Items[1].Enabled := True;
pmMlbl.Items[2].Enabled := True;
pmMlbl.Items[3].Enabled := False;
pmMlbl.Items[4].Enabled := False;
end;
if recordCount < 1 then
begin
pmMlbl.Items[1].Enabled := False;
pmMlbl.Items[2].Enabled := False;
end;
end;
end;
procedure TfrmNewLabel.dbgrdhLabelMMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
dbgrdhLabelM.PopupMenu := pmMlbl;
end;
procedure TfrmNewLabel.dbgrdhLabeldMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
dbgrdhLabeld.PopupMenu := pmMlbl;
end;
procedure TfrmNewLabel.qryLabelAfterScroll(DataSet: TDataSet);
begin
with qryLabel do
begin
if RecordCount <1 then
begin
dbgrdhLabeld.ReadOnly := True;
Exit;
end;
end;
with qryLblDetail do
begin
Close;
SQL.Clear;
SQL.Add('select * from MLblFld where LblID = ');
SQL.Add(QuotedStr((qryLabel.fieldByName('LblID').AsString)));
Open;
dbgrdhLabeld.ReadOnly := False;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -