⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 select.pas

📁 一个仓库管理软件包括,仓库入库,仓库出库,库存信息,单据审核,反审核等功能.
💻 PAS
字号:
unit Select;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, DBTables, Grids, DBGridEh, ExtCtrls, StdCtrls, Buttons,
  ADODB;

type
  TfrmSelect = class(TForm)
    selectgrid: TDBGridEh;
    dsselect: TDataSource;
    Panel1: TPanel;
    Panel2: TPanel;
    btnExit: TSpeedButton;
    qurselect: TADOQuery;
    procedure selectgridKeyPress(Sender: TObject; var Key: Char);
    procedure selectgridDblClick(Sender: TObject);
    procedure btnExitClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
   procedure AdjustDropDownForm(AControl : TControl; HostControl: TControl);  //坐标

  public
   procedure CreateSelect(s:string;x,y:integer);
   procedure ClickCreate(s:string; HostControl: TControl);
  end;

var
  frmSelect: TfrmSelect;

implementation

uses database;

{$R *.dfm}

procedure TfrmSelect.selectgridKeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
    frmselect.ModalResult:=mrok
  else
    frmselect.ModalResult:=mrCancel;
end;

procedure TfrmSelect.CreateSelect(s:string;x,y:integer);
var
  i:integer;
begin
  Left:=x;
  top:=y;
  qurselect.Close;
  qurselect.SQL.Clear;
  qurselect.SQL.Add(s);
  qurselect.Open;

  for i:=0 to 3 do
  begin
   if i<=qurselect.FieldCount-1 then
   selectGrid.Columns[i].FieldName:=  qurselect.Fields[i].FieldName;
  end;
end;

procedure TfrmSelect.ClickCreate(s:string; HostControl: TControl);
var
 i:integer;
begin
  AdjustDropDownForm( self,HostControl);
  qurselect.Close;
  qurselect.SQL.Clear;
  qurselect.SQL.Add(s);
  qurselect.Open;

  for i:=0 to 3 do
  begin
   if i<=qurselect.FieldCount-1 then
   selectGrid.Columns[i].FieldName:=  qurselect.Fields[i].FieldName;
  end;

end;

procedure TfrmSelect.selectgridDblClick(Sender: TObject);
begin
  sendmessage(selectgrid.Handle,WM_CHAR,VK_RETURN,0);
end;

procedure TfrmSelect.btnExitClick(Sender: TObject);
begin
  frmselect.ModalResult:=mrCancel;
end;

procedure TfrmSelect.FormActivate(Sender: TObject);
begin
  //nExit.Left := Round(selectgrid.Width/2-btnExit.Width/2);
end;

procedure TfrmSelect.AdjustDropDownForm(AControl, HostControl: TControl);
var
   WorkArea: TRect;
   HostP, PDelpta: TPoint;
begin
   SystemParametersInfo(SPI_GETWORKAREA,0,@WorkArea,0);
   HostP := HostControl.ClientToScreen(Point(0,0));
   PDelpta := AControl.ClientToScreen(Point(0,0));

   AControl.Left := HostP.x;
   AControl.Top := HostP.y + HostControl.Height + 1;

   if (AControl.Width > WorkArea.Right - WorkArea.Left) then
     AControl.Width := WorkArea.Right - WorkArea.Left;

   if (AControl.Left + AControl.Width > WorkArea.Right) then
     AControl.Left := WorkArea.Right - AControl.Width;
   if (AControl.Left < WorkArea.Left) then
     AControl.Left := WorkArea.Left;


   if (AControl.Top + AControl.Height > WorkArea.Bottom) then
   begin
     if (HostP.y - WorkArea.Top > WorkArea.Bottom - HostP.y - HostControl.Height) then
       AControl.Top := HostP.y - AControl.Height;
   end;

   if (AControl.Top < WorkArea.Top) then
   begin
     AControl.Height := AControl.Height - (WorkArea.Top - AControl.Top);
     AControl.Top := WorkArea.Top;
   end;

   if (AControl.Top + AControl.Height > WorkArea.Bottom) then
   begin
     AControl.Height := WorkArea.Bottom - AControl.Top;
   end;

end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -