亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? bsskingrids.pas

?? delphi 皮膚控件
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
  then
    with Params do
      ExStyle := ExStyle or WS_EX_TRANSPARENT
  else
    inherited;
end;

procedure TbsSkinTransparentMaskEdit.CNCTLCOLOREDIT(var Message:TWMCTLCOLOREDIT);
begin
  if FTransparent
  then
    with Message do
    begin
      SetBkMode(ChildDC, Windows.Transparent);
      SetTextColor(ChildDC, Font.Color);
      Result := GetStockObject(HOLLOW_BRUSH);
    end
  else
    inherited;
end;

procedure TbsSkinTransparentMaskEdit.WMEraseBkgnd(var Message: TWMEraseBkgnd);
begin
  if FTransparent then Invalidate else inherited;
end;

procedure TbsSkinTransparentMaskEdit.DoExit;
begin
  inherited;
  if FTransparent then Invalidate;
end;

procedure TbsSkinTransparentMaskEdit.DoEnter;
begin
  inherited;
  if FTransparent then Invalidate;
end;

procedure TbsSkinTransparentMaskEdit.WMKeyDown(var Message: TWMKeyDown);
begin
  inherited;
  if FTransparent then Invalidate;
end;

procedure TbsSkinTransparentMaskEdit.WMSetText(var Message:TWMSetText);
begin
  inherited;
  if FTransparent then Invalidate;
end;

procedure TbsSkinTransparentMaskEdit.WMMove(var Message: TMessage);
begin
  inherited;
  if FTransparent then Invalidate;
end;

procedure TbsSkinTransparentMaskEdit.WMCut(var Message: TMessage);
begin
  inherited;
  if FTransparent then Invalidate;
end;

procedure TbsSkinTransparentMaskEdit.WMPaste(var Message: TMessage);
begin
  inherited;
  if FTransparent then Invalidate;
end;

procedure TbsSkinTransparentMaskEdit.WMClear(var Message: TMessage);
begin
  inherited;
  if FTransparent then Invalidate;
end;

procedure TbsSkinTransparentMaskEdit.WMUndo(var Message: TMessage);
begin
  inherited;
  if FTransparent then Invalidate;
end;

procedure TbsSkinTransparentMaskEdit.WMLButtonDown(var Message: TWMKeyDown);
begin
  inherited;
  FDown := True;
  if FTransparent then Invalidate;
end;

procedure TbsSkinTransparentMaskEdit.WMMOUSEMOVE;
begin
  inherited;
  if FDown then Invalidate;
end;

procedure TbsSkinTransparentMaskEdit.WMLButtonUp;
begin
  inherited;
  FDown := False;
end;

procedure TbsSkinTransparentMaskEdit.Invalidate;
begin
  if FTransparent then InvalidateEdit else inherited;
end;

constructor TbsSkinInplaceEdit.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  ParentCtl3D := False;
  Ctl3D := False;
  TabStop := False;
  BorderStyle := bsNone;
  FSysPopupMenu := nil;
end;

destructor TbsSkinInplaceEdit.Destroy;
begin
  if FSysPopupMenu <> nil then FSysPopupMenu.Free;
  inherited;
end;

procedure TbsSkinInplaceEdit.WMCONTEXTMENU;
var
  X, Y: Integer;
  P: TPoint;
begin
  if PopupMenu <> nil
  then
    inherited
  else
    begin
      CreateSysPopupMenu;
      X := Message.XPos;
      Y := Message.YPos;
      if (X < 0) or (Y < 0)
      then
        begin
          X := Width div 2;
          Y := Height div 2;
          P := Point(0, 0);
          P := ClientToScreen(P);
          X := X + P.X;
          Y := Y + P.Y;
        end;
      if FSysPopupMenu <> nil
      then
        FSysPopupMenu.Popup2(Self, X, Y)
    end;
end;

procedure TbsSkinInplaceEdit.WMAFTERDISPATCH;
begin
  if FSysPopupMenu <> nil
  then
    begin
      FSysPopupMenu.Free;
      FSysPopupMenu := nil;
    end;
end;

procedure TbsSkinInplaceEdit.DoUndo;
begin
  Undo;
end;

procedure TbsSkinInplaceEdit.DoCut;
begin
  CutToClipboard;
end;

procedure TbsSkinInplaceEdit.DoCopy;
begin
  CopyToClipboard;
end;

procedure TbsSkinInplaceEdit.DoPaste;
begin
  PasteFromClipboard;
end;

procedure TbsSkinInplaceEdit.DoDelete;
begin
  ClearSelection;
end;

procedure TbsSkinInplaceEdit.DoSelectAll;
begin
  SelectAll;
end;

procedure TbsSkinInplaceEdit.CreateSysPopupMenu;

function IsSelected: Boolean;
var
  i, j: Integer;
begin
  GetSel(i, j);
  Result := (i < j);
end;

function IsFullSelected: Boolean;
var
  i, j: Integer;
begin
  GetSel(i, j);
  Result := (i = 0) and (j = Length(Text));
end;

var
  Item: TMenuItem;
begin
  if FSysPopupMenu <> nil then FSysPopupMenu.Free;

  FSysPopupMenu := TbsSkinPopupMenu.Create(Self);
  FSysPopupMenu.ComponentForm := TForm(GetParentForm(Self));

  Item := TMenuItem.Create(FSysPopupMenu);
  with Item do
  begin
    if (FGrid.SkinData <> nil) and (FGrid.SkinData.ResourceStrData <> nil)
    then
      Caption := FGrid.SkinData.ResourceStrData.GetResStr('EDIT_UNDO')
    else
      Caption := BS_Edit_Undo;
    OnClick := DoUndo;
    Enabled := Self.CanUndo;
  end;
  FSysPopupMenu.Items.Add(Item);

  Item := TMenuItem.Create(FSysPopupMenu);
  Item.Caption := '-';
  FSysPopupMenu.Items.Add(Item);

  Item := TMenuItem.Create(FSysPopupMenu);
  with Item do
  begin
    if (FGrid.SkinData <> nil) and (FGrid.SkinData.ResourceStrData <> nil)
    then
      Caption := FGrid.SkinData.ResourceStrData.GetResStr('EDIT_CUT')
    else
      Caption := BS_Edit_Cut;
    Enabled := IsSelected and not Self.ReadOnly;
    OnClick := DoCut;
  end;
  FSysPopupMenu.Items.Add(Item);

  Item := TMenuItem.Create(FSysPopupMenu);
  with Item do
  begin
    if (FGrid.SkinData <> nil) and (FGrid.SkinData.ResourceStrData <> nil)
    then
      Caption := FGrid.SkinData.ResourceStrData.GetResStr('EDIT_COPY')
    else
      Caption := BS_Edit_Copy;
    Enabled := IsSelected;
    OnClick := DoCopy;
  end;
  FSysPopupMenu.Items.Add(Item);

  Item := TMenuItem.Create(FSysPopupMenu);
  with Item do
  begin
    if (FGrid.SkinData <> nil) and (FGrid.SkinData.ResourceStrData <> nil)
    then
      Caption := FGrid.SkinData.ResourceStrData.GetResStr('EDIT_PASTE')
    else
      Caption := BS_Edit_Paste;
    Enabled := (ClipBoard.AsText <> '') and not ReadOnly;
    OnClick := DoPaste;
  end;
  FSysPopupMenu.Items.Add(Item);

  Item := TMenuItem.Create(FSysPopupMenu);
  with Item do
  begin
    if (FGrid.SkinData <> nil) and (FGrid.SkinData.ResourceStrData <> nil)
    then
      Caption := FGrid.SkinData.ResourceStrData.GetResStr('EDIT_DELETE')
    else
      Caption := BS_Edit_Delete;
    Enabled := IsSelected and not Self.ReadOnly;
    OnClick := DoDelete;
  end;
  FSysPopupMenu.Items.Add(Item);

  Item := TMenuItem.Create(FSysPopupMenu);
  Item.Caption := '-';
  FSysPopupMenu.Items.Add(Item);

  Item := TMenuItem.Create(FSysPopupMenu);
  with Item do
  begin
    if (FGrid.SkinData <> nil) and (FGrid.SkinData.ResourceStrData <> nil)
    then
      Caption := FGrid.SkinData.ResourceStrData.GetResStr('EDIT_SELECTALL')
    else
      Caption := BS_Edit_SelectAll;
    Enabled := not IsFullSelected;
    OnClick := DoSelectAll;
  end;
  FSysPopupMenu.Items.Add(Item);
end;

procedure TbsSkinInplaceEdit.WMEraseBkgnd(var Message: TWMEraseBkgnd);
begin
  if not Transparent then inherited;
end;

procedure TbsSkinInplaceEdit.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  Params.Style := Params.Style or ES_MULTILINE;
end;

procedure TbsSkinInplaceEdit.SetGrid(Value: TbsSkinCustomGrid);
begin
  FGrid := Value;
end;

procedure TbsSkinInplaceEdit.CMShowingChanged(var Message: TMessage);
begin
end;

procedure TbsSkinInplaceEdit.WMGetDlgCode(var Message: TWMGetDlgCode);
begin
  inherited;
  if goTabs in Grid.Options then
    Message.Result := Message.Result or DLGC_WANTTAB;
end;

procedure TbsSkinInplaceEdit.WMPaste(var Message);
begin
  if not EditCanModify then Exit;
  inherited
end;

procedure TbsSkinInplaceEdit.WMClear(var Message);
begin
  if not EditCanModify then Exit;
  inherited;
end;

procedure TbsSkinInplaceEdit.WMCut(var Message);
begin
  if not EditCanModify then Exit;
  inherited;
end;

procedure TbsSkinInplaceEdit.DblClick;
begin
  Grid.DblClick;
end;

function TbsSkinInplaceEdit.EditCanModify: Boolean;
begin
  Result := Grid.CanEditModify;
end;

procedure TbsSkinInplaceEdit.KeyDown(var Key: Word; Shift: TShiftState);

  procedure SendToParent;
  begin
    Grid.KeyDown(Key, Shift);
    Key := 0;
  end;

  procedure ParentEvent;
  var
    GridKeyDown: TKeyEvent;
  begin
    GridKeyDown := Grid.OnKeyDown;
    if Assigned(GridKeyDown) then GridKeyDown(Grid, Key, Shift);
  end;

  function ForwardMovement: Boolean;
  begin
    Result := goAlwaysShowEditor in Grid.Options;
  end;

  function Ctrl: Boolean;
  begin
    Result := ssCtrl in Shift;
  end;

  function Selection: TSelection;
  begin
    SendMessage(Handle, EM_GETSEL, Longint(@Result.StartPos), Longint(@Result.EndPos));
  end;

  function RightSide: Boolean;
  begin
    with Selection do
      Result := ((StartPos = 0) or (EndPos = StartPos)) and
        (EndPos = GetTextLen);
   end;

  function LeftSide: Boolean;
  begin
    with Selection do
      Result := (StartPos = 0) and ((EndPos = 0) or (EndPos = GetTextLen));
  end;

begin
  case Key of
    VK_UP, VK_DOWN, VK_PRIOR, VK_NEXT, VK_ESCAPE: SendToParent;
    VK_INSERT:
      if Shift = [] then SendToParent
      else if (Shift = [ssShift]) and not Grid.CanEditModify then Key := 0;
    VK_LEFT: if ForwardMovement and (Ctrl or LeftSide) then SendToParent;
    VK_RIGHT: if ForwardMovement and (Ctrl or RightSide) then SendToParent;
    VK_HOME: if ForwardMovement and (Ctrl or LeftSide) then SendToParent;
    VK_END: if ForwardMovement and (Ctrl or RightSide) then SendToParent;
    VK_F2:
      begin
        ParentEvent;
        if Key = VK_F2 then
        begin
          Deselect;
          Exit;
        end;
      end;
    VK_TAB: if not (ssAlt in Shift) then SendToParent;
  end;
  if (Key = VK_DELETE) and not Grid.CanEditModify then Key := 0;
  if Key <> 0 then

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级日韩不卡播放免费| 欧美大胆一级视频| 在线播放中文一区| 久久综合九色综合97婷婷女人| 国产精品国产馆在线真实露脸| 亚洲国产综合色| 国产91色综合久久免费分享| 欧美老肥妇做.爰bbww| 中文字幕一区在线观看| 国产一区视频网站| 国产精品嫩草久久久久| 日本成人在线一区| 91蝌蚪porny九色| 国产精品视频免费| 国产乱人伦偷精品视频免下载| 欧美另类变人与禽xxxxx| 国产精品福利一区二区三区| 极品少妇xxxx偷拍精品少妇| 欧美日本一区二区三区| 亚洲综合视频网| 色综合天天综合色综合av| 国产精品国产三级国产普通话三级| 九九九精品视频| 日韩免费视频一区二区| 日韩 欧美一区二区三区| 欧美在线你懂得| 亚洲国产精品久久不卡毛片| 在线精品视频免费播放| 一区二区在线观看视频在线观看| 国产91露脸合集magnet| 国产免费久久精品| 成人国产亚洲欧美成人综合网| 国产亚洲精品资源在线26u| 国产精品 日产精品 欧美精品| 欧美v国产在线一区二区三区| 久久精品国产亚洲高清剧情介绍 | 中文字幕亚洲一区二区va在线| 蜜臀国产一区二区三区在线播放| 欧美一区二区三区成人| 免费成人结看片| 日韩免费福利电影在线观看| 精品一区免费av| 久久先锋资源网| 成人妖精视频yjsp地址| 亚洲视频一区二区在线观看| 色偷偷久久人人79超碰人人澡| 亚洲伊人色欲综合网| 欧美一级日韩免费不卡| 国产老妇另类xxxxx| 中文字幕成人网| 欧美一区二区黄| 激情五月激情综合网| 久久精品男人天堂av| 成人99免费视频| 亚洲香肠在线观看| 精品国产欧美一区二区| 不卡一区二区三区四区| 亚洲国产视频一区| 久久先锋资源网| 91精彩视频在线| 精品亚洲欧美一区| 亚洲精品高清在线| 精品少妇一区二区三区在线播放| 国产成人免费视频网站| 亚洲国产精品欧美一二99| 欧美v国产在线一区二区三区| 9i看片成人免费高清| 亚洲成人你懂的| 久久精子c满五个校花| 91蜜桃婷婷狠狠久久综合9色| 日本在线不卡视频一二三区| 国产精品青草综合久久久久99| 日本高清视频一区二区| 精品一区二区三区在线播放| 亚洲日本韩国一区| 亚洲精品一区二区三区影院| 一本色道久久综合亚洲91 | 久久夜色精品国产欧美乱极品| 国产成人午夜视频| 激情文学综合插| 91精品国产入口| 天涯成人国产亚洲精品一区av| 欧美日韩亚洲不卡| 亚洲伊人伊色伊影伊综合网| 欧美四级电影在线观看| 亚洲亚洲精品在线观看| 欧美疯狂性受xxxxx喷水图片| 一区二区免费在线| 欧美人成免费网站| 蜜桃视频第一区免费观看| 欧美一区午夜精品| 久久99精品久久久久婷婷| 久久久久久久久久久黄色| 丁香五精品蜜臀久久久久99网站| 中文字幕免费一区| 色国产综合视频| 日韩vs国产vs欧美| 久久蜜桃香蕉精品一区二区三区| 99久久久久久| 亚洲成人动漫在线免费观看| 精品福利一区二区三区| 成人精品鲁一区一区二区| 一区二区三区不卡在线观看 | 亚洲品质自拍视频| 欧美日韩色一区| 久久九九99视频| 欧美性受xxxx| 欧美色图免费看| 欧美视频一区二区三区四区| 91在线看国产| 91在线精品秘密一区二区| 粉嫩av一区二区三区| 国产成人免费在线观看不卡| 国产一区二三区好的| 裸体一区二区三区| 精品一区二区影视| 国产一区视频在线看| 国产高清在线精品| 粉嫩av一区二区三区在线播放 | 国产伦精一区二区三区| 亚洲精品国产精华液| 久久精品亚洲国产奇米99| 在线观看av一区二区| 高清国产一区二区三区| 亚洲国产欧美日韩另类综合| 欧美国产1区2区| 91精品欧美一区二区三区综合在| 99久久精品国产一区二区三区| 亚洲丰满少妇videoshd| 国产喷白浆一区二区三区| 欧美一区二区精美| 欧美日韩综合不卡| 色哟哟日韩精品| 国产成人精品免费一区二区| 久久成人免费日本黄色| 亚洲国产日韩在线一区模特| 亚洲欧洲成人自拍| 国产精品美女视频| 久久精品人人爽人人爽| 日韩女优电影在线观看| 欧美精品vⅰdeose4hd| 色天使久久综合网天天| 成人a级免费电影| 国产精品2024| 高清成人免费视频| 韩国精品一区二区| 国产一区中文字幕| 国产乱理伦片在线观看夜一区| 日韩av一区二区三区四区| 天天色天天操综合| 日韩精品免费视频人成| 日韩电影免费在线看| 图片区小说区国产精品视频| 一个色在线综合| 亚洲午夜久久久久久久久电影院 | 亚洲激情校园春色| 国产精品五月天| 亚洲天天做日日做天天谢日日欢| 国产精品久久久久桃色tv| 一区免费观看视频| 亚洲午夜精品网| 美国精品在线观看| 国产91丝袜在线18| 91视频91自| 91麻豆精品国产91久久久资源速度 | 日韩欧美一级在线播放| 日韩免费高清电影| 国产亚洲欧美中文| 亚洲欧洲另类国产综合| 一区二区免费在线播放| 人人爽香蕉精品| 国内精品久久久久影院色| 国产成人日日夜夜| 色婷婷综合久久久久中文一区二区| 色久优优欧美色久优优| 91麻豆精品国产91久久久久 | 亚洲人一二三区| 亚洲第一综合色| 激情成人综合网| 色综合天天在线| 日韩视频一区在线观看| 国产日韩高清在线| 丝袜亚洲另类欧美| 国产精品1区2区3区| 欧美视频一区二区在线观看| 精品国产青草久久久久福利| 亚洲精品成人精品456| 日本va欧美va精品发布| 成人sese在线| 欧美一区二区三区小说| 亚洲欧洲国产日韩| 久久爱www久久做| 欧美性大战久久久久久久| 精品国产乱码久久久久久久| 亚洲色图20p| 国产伦精品一区二区三区在线观看| 色综合 综合色| 久久久久99精品一区| 美腿丝袜在线亚洲一区| 99视频精品在线|