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

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

?? scustomcomboedit.pas

?? AlphaControls是一個Delphi標準控件的集合
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
begin
  SetEditRect;
end;

procedure TsCustomComboEdit.WMSize(var Message: TWMSize);
var
  MinHeight: Integer;
begin
  inherited;
  if not (csLoading in ComponentState) then begin
    MinHeight := GetMinHeight;
    if Height < MinHeight then begin
      Height := MinHeight;
      Exit;
    end;
  end
  else begin
    if (FPopupWindow <> nil) and (csDesigning in ComponentState) then
      FPopupWindow.SetBounds(0, Height + 1, 10, 10);
  end;
  UpdateBtnBounds;
  SetSelLength(10);
end;

function TsCustomComboEdit.GetTextHeight: Integer;
var
  DC: HDC;
  SaveFont: HFont;
  SysMetrics, Metrics: TTextMetric;
begin
  DC := GetDC(0);
  try
    GetTextMetrics(DC, SysMetrics);
    SaveFont := SelectObject(DC, Font.Handle);
    GetTextMetrics(DC, Metrics);
    SelectObject(DC, SaveFont);
  finally
    ReleaseDC(0, DC);
  end;
  Result := Mini(SysMetrics.tmHeight, Metrics.tmHeight);
end;

function TsCustomComboEdit.GetMinHeight: Integer;
var
  I: Integer;
begin
  I := GetTextHeight;
  Result := I + GetSystemMetrics(SM_CYBORDER) * 4 + 1;
end;

function TsCustomComboEdit.GetDroppedDown : Boolean;
begin
  Result := (FPopupWindow <> nil) and FPopupWindow.Visible;
end;

procedure TsCustomComboEdit.CMFontChanged(var Message: TMessage);
begin
  inherited;
  if HandleAllocated then SetEditRect;
end;

procedure TsCustomComboEdit.CMEnabledChanged(var Message: TMessage);
begin
  inherited;
//  FButton.Enabled := Enabled;
end;

procedure TsCustomComboEdit.CMCancelMode(var Message: TCMCancelMode);
begin
  if (Message.Sender <> Self) and
     (Message.Sender <> FPopupWindow) and
     (Message.Sender <> FButton) and
     ((FPopupWindow <> nil) and
     not FPopupWindow.ContainsControl(Message.Sender)) then begin
       PopupWindowClose;
  end;
end;

procedure TsCustomComboEdit.CMEnter(var Message: TMessage);
begin
  if AutoSelect and not (csLButtonDown in ControlState) then SelectAll;
  inherited;
end;

procedure TsCustomComboEdit.CNCtlColor(var Message: TMessage);
//var
//  TextColor: Longint;
begin
  inherited;
{  if NewStyleControls then begin
    TextColor := ColorToRGB(Font.Color);
    if not Enabled and (ColorToRGB(Color) <> ColorToRGB(clGrayText)) then
      TextColor := ColorToRGB(clGrayText);
    SetTextColor(Message.WParam, TextColor);
  end;}
end;

procedure TsCustomComboEdit.WMKillFocus(var Message: TWMKillFocus);
begin
  inherited;
  FFocused := False;
end;

procedure TsCustomComboEdit.WMSetFocus(var Message: TMessage);
begin
  inherited;
  FFocused := True;
  SetShowCaret;
end;

procedure TsCustomComboEdit.SetShowCaret;
begin
  CreateCaret(Handle, 0, integer(fsBold in Font.Style) + 1, GetTextHeight);
  ShowCaret(Handle);
end;

procedure TsCustomComboEdit.EditButtonClick(Sender: TObject);
begin
  if not FReadOnly then ButtonClick;
end;

procedure TsCustomComboEdit.DoClick;
begin
  EditButtonClick(Self);
end;

procedure TsCustomComboEdit.ButtonClick;
begin
  if Assigned(FOnButtonClick) then FOnButtonClick(Self);
  if DontPopup then DontPopup := False else
  if FPopupWindow <> nil then begin
    if DroppedDown
      then PopupWindowClose
      else
        if not DontPopup then PopupWindowShow;
  end;
end;

procedure TsCustomComboEdit.SelectAll;
begin
  if DirectInput then inherited SelectAll;
end;

function TsCustomComboEdit.GetDirectInput: Boolean;
begin
  Result := FDirectInput;
end;

procedure TsCustomComboEdit.SetDirectInput(Value: Boolean);
begin
  inherited ReadOnly := not Value or FReadOnly;
  FDirectInput := Value;
end;

procedure TsCustomComboEdit.WMPaste(var Message: TWMPaste);
begin
  if not FDirectInput or ReadOnly then Exit;
  inherited;
end;

procedure TsCustomComboEdit.WMCut(var Message: TWMCut);
begin
  if not FDirectInput or ReadOnly then Exit;
  inherited;
end;

procedure TsCustomComboEdit.SetReadOnly(Value: Boolean);
begin
  if Value <> FReadOnly then begin
    FReadOnly := Value;
    inherited ReadOnly := Value or not FDirectInput;
  end;
end;

procedure TsCustomComboEdit.SetAlignment(Value: TAlignment);
begin
  if FAlignment <> Value then begin
    FAlignment := Value;
    sStyle.Invalidate;
  end;
end;

function EditorTextMargins(Editor: TsCustomComboEdit): TPoint;
var
  DC: HDC;
  SaveFont: HFont;
  I: Integer;
  SysMetrics, Metrics: TTextMetric;
begin
  with Editor do begin
    if NewStyleControls then begin
      if BorderStyle = bsNone then I := 0
      else if Ctl3D then I := 1
      else I := 2;
      Result.X := SendMessage(Handle, EM_GETMARGINS, 0, 0) and $0000FFFF + I;
      Result.Y := I;
    end
    else begin
      if BorderStyle = bsNone then I := 0
      else begin
        DC := GetDC(0);
        GetTextMetrics(DC, SysMetrics);
        SaveFont := SelectObject(DC, Font.Handle);
        GetTextMetrics(DC, Metrics);
        SelectObject(DC, SaveFont);
        ReleaseDC(0, DC);
        I := SysMetrics.tmHeight;
        if I > Metrics.tmHeight then I := Metrics.tmHeight;
        I := I div 4;
      end;
      Result.X := I;
      Result.Y := I;
    end;
  end;
end;

procedure TsCustomComboEdit.WMNCCalcSize(var Message: TWMNCCalcSize);
begin
  inherited;
  InflateRect(Message.CalcSize_Params^.rgrc[0], -3, -3);
//  Message.CalcSize_Params^.rgrc[0].Right := Message.CalcSize_Params^.rgrc[0].Right - {FButton.Width -} 6;
  SetEditRect;
end;

procedure TsCustomComboEdit.WMNCPaint(var Message: TMessage);
begin
  if (csDestroying in ComponentState) or (csLoading in ComponentState) then Exit;
  Color := sStyle.GetActiveColor;
  inherited;
  sStyle.RedrawBorder;
end;

procedure TsCustomComboEdit.WndProc(var Message: TMessage);
begin
  if Assigned(FsStyle) then FsStyle.WndProc(Message);
  if Message.Result <> 1 then inherited;
end;

procedure TsCustomComboEdit.Invalidate;
begin
  Color := sStyle.GetActiveColor;
  if (csDesigning in ComponentState) and Assigned(FsStyle) then begin
    if not RestrictDrawing then FsStyle.BGChanged := True;
  end;
  if Assigned(Button) then begin
    if not RestrictDrawing then Button.sStyle.BGChanged := True;
    Button.Invalidate;
  end;
  if Assigned(Parent) then sStyle.RedrawBorder;
  inherited;
end;

procedure TsCustomComboEdit.PopupWindowClose;
begin
  if Assigned(FPopupWindow) and TForm(FPopupWindow).Visible then begin
    TForm(FPopupWindow).Close;
    DontPopup := True;
  end;
end;

procedure TsCustomComboEdit.CreateParams(var Params: TCreateParams);
const
  Alignments: array[TAlignment] of Longword = (ES_LEFT, ES_RIGHT, ES_CENTER);
begin
  inherited CreateParams(Params);
  Params.Style := Params.Style or ES_MULTILINE or WS_CLIPCHILDREN
    or Alignments[FAlignment];
end;

procedure TsCustomComboEdit.KeyPress(var Key: Char);
begin
  if (Key = Char(VK_RETURN)) or (Key = Char(VK_ESCAPE)) then
  begin
      { must catch and remove this, since is actually multi-line }
      GetParentForm(Self).Perform(CM_DIALOGKEY, Byte(Key), 0);
      if Key = Char(VK_RETURN) then begin
        inherited KeyPress(Key);
        Key := #0;
        Exit;
      end;
  end;
  inherited KeyPress(Key);
end;

procedure TsCustomComboEdit.AfterConstruction;
begin
  inherited;
  sStyle.Loaded;
end;

procedure TsCustomComboEdit.Loaded;
begin
  inherited;
  sStyle.Loaded;
end;

procedure TsEditButton.DrawGlyph;
var
  IRect : TRect;
  Bmp : TBitmap;
begin
  Exit;
  IRect := ImgRect;

  Bmp := TBitmap.Create;
  Bmp.Assign(DefBMP);
  Bmp.PixelFormat := pf24bit;
  Bmp.TransparentColor := Bmp.Canvas.Pixels[0, Bmp.Height - 1];

  if not Enabled then begin
//    DisableBmp(Bmp);
  end;

  try
{
    if not sStyle.ControlIsActive and Grayed then begin
      GrayScale(Bmp);
    end;
    MaskColor := TsColor(Bmp.Canvas.Pixels[0, Bmp.Height - 1]);


    if not sStyle.ControlIsActive and (Blend > 0) then begin
      c.C := ColorToRGB(sStyle.Painting.Color);
      BlendTransRectangle(sStyle.FCacheBmp, IRect.Left, IRect.Top, Bmp,
                          Rect(0,
                               0,
                               Bmp.Width,
                               Bmp.Height),
                          Blend / 100, MaskColor);
    end
    else begin
      CopyTransBitmaps(sStyle.FCacheBmp, Bmp, IRect.Left, IRect.Top, MaskColor);
    end;
}
  finally
    FreeAndNil(Bmp);
  end;
end;

procedure TsCustomComboEdit.SetPopupWidth(const Value: integer);
begin
  FPopupWidth := Value;
end;

procedure TsCustomComboEdit.EditButtonMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  MousePressed := True;
//  if DroppedDown then Alert;//DontPopup := True;
end;

procedure TsCustomComboEdit.EditButtonMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  MousePressed := False;
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精品嫩草影院| 成人动漫一区二区三区| 国产一区二区日韩精品| 日本道色综合久久| 欧美国产精品劲爆| 免费不卡在线视频| 一本大道久久a久久精二百| 久久精品夜色噜噜亚洲a∨| 午夜天堂影视香蕉久久| 91在线免费视频观看| 久久影视一区二区| 日韩国产欧美在线观看| 一本色道综合亚洲| 国产精品乱子久久久久| 极品尤物av久久免费看| 久久福利资源站| 亚洲影视在线播放| 91亚洲男人天堂| 国产精品美女久久久久久久久久久| 久久99热狠狠色一区二区| 欧美色倩网站大全免费| 亚洲免费三区一区二区| 91视频.com| 亚洲人一二三区| 99久久99久久久精品齐齐| 国产精品日日摸夜夜摸av| 国产91精品一区二区麻豆亚洲| 欧美精品一区二区三区久久久| 毛片av一区二区| 精品美女一区二区| 韩国女主播一区| 国产午夜精品美女毛片视频| 成人免费高清视频在线观看| 国产精品丝袜黑色高跟| 不卡视频在线看| 亚洲人亚洲人成电影网站色| 91极品美女在线| 亚洲va国产va欧美va观看| 欧美日韩在线免费视频| 日韩成人伦理电影在线观看| 欧美一区二区三区男人的天堂| 麻豆国产91在线播放| 久久综合狠狠综合久久激情| 国产乱码精品一品二品| 国产精品三级视频| 在线亚洲欧美专区二区| 午夜亚洲福利老司机| 精品国偷自产国产一区| 成人性色生活片免费看爆迷你毛片| 中日韩免费视频中文字幕| 91丨九色丨国产丨porny| 亚洲电影一级片| 日韩一级视频免费观看在线| 国产成人精品综合在线观看| 亚洲欧美乱综合| 欧美一三区三区四区免费在线看| 国产美女在线精品| 一区二区在线观看免费视频播放| 欧美一级爆毛片| 成人小视频免费在线观看| 亚洲自拍偷拍综合| 精品久久免费看| 色综合久久久久久久久| 久久国产生活片100| 亚洲天堂av老司机| 欧美一级在线观看| 波多野结衣视频一区| 奇米影视在线99精品| 国产精品免费看片| 777奇米四色成人影色区| 成人午夜大片免费观看| 男男gaygay亚洲| 亚洲视频电影在线| 久久蜜桃香蕉精品一区二区三区| 99国产精品视频免费观看| 日本不卡中文字幕| 国产精品久久久久久久久免费丝袜 | 国产精品高潮久久久久无| 欧美日韩一区二区不卡| 成人免费视频视频| 美国三级日本三级久久99| 亚洲啪啪综合av一区二区三区| 久久一夜天堂av一区二区三区 | 国产午夜精品一区二区三区嫩草| 欧美三级在线视频| 99久久99久久综合| 国产精品123| 精品一区二区三区免费毛片爱| 一区二区三区欧美亚洲| 国产精品无人区| 国产调教视频一区| 欧美不卡一区二区三区四区| 欧美精品久久99| 欧美性淫爽ww久久久久无| 成人av片在线观看| 国产成人午夜精品影院观看视频| 欧美a级一区二区| 天天影视涩香欲综合网| 亚洲宅男天堂在线观看无病毒| 国产三区在线成人av| 精品国产一区二区三区久久久蜜月 | 国产成人免费视频精品含羞草妖精| 秋霞成人午夜伦在线观看| 亚洲午夜私人影院| 一区二区三区在线免费视频 | 亚洲国产高清aⅴ视频| 亚洲精品在线一区二区| 日韩久久久精品| 欧美日韩久久一区| 91精品国产综合久久久久久 | 日韩毛片在线免费观看| 中文字幕亚洲视频| 中文字幕一区二区三区av| 中文字幕一区二区不卡| 亚洲免费在线看| 亚洲综合一二三区| 丝袜美腿亚洲色图| 久久精品国产一区二区三| 久久国产欧美日韩精品| 麻豆精品在线观看| 国产精品综合在线视频| 成人午夜av影视| 91丨porny丨中文| 欧美熟乱第一页| 69p69国产精品| 精品久久久久久久久久久久久久久久久 | 综合色天天鬼久久鬼色| 亚洲欧美日韩电影| 无吗不卡中文字幕| 六月丁香综合在线视频| 国产精品一级片在线观看| 成人av一区二区三区| 91色乱码一区二区三区| 欧美精品自拍偷拍| 久久久亚洲午夜电影| 中文字幕一区二区不卡| 午夜电影一区二区三区| 国产美女一区二区三区| 一本到不卡精品视频在线观看| 在线播放亚洲一区| 国产三级久久久| 亚洲一区二三区| 精品亚洲成a人在线观看 | 99久久er热在这里只有精品66| 91黄色免费网站| 精品乱人伦一区二区三区| 国产精品美女久久久久久久网站| 亚洲午夜久久久久| 国产精品亚洲午夜一区二区三区 | 亚洲国产精品激情在线观看| 亚洲国产日日夜夜| 国产高清久久久久| 欧洲国产伦久久久久久久| 欧美成人精品二区三区99精品| 中文字幕一区二区视频| 日本va欧美va精品发布| 国产精品一二三区在线| 欧美日韩精品一区二区三区蜜桃| 久久久精品免费网站| 亚洲成人自拍偷拍| 成人激情黄色小说| 日韩免费观看高清完整版| 亚洲精品免费看| 国产一区二区主播在线| 欧美视频一区二区在线观看| 久久久蜜桃精品| 日韩1区2区日韩1区2区| 91小视频免费观看| 久久精品欧美日韩| 青青草伊人久久| 欧美中文字幕一区| 国产精品久久久久久亚洲毛片| 毛片一区二区三区| 欧美三级资源在线| 亚洲精品老司机| av在线播放一区二区三区| 欧美videossexotv100| 午夜婷婷国产麻豆精品| 一本大道av一区二区在线播放| 日本一区二区三区dvd视频在线| 老司机免费视频一区二区| 精品视频全国免费看| 亚洲精品ww久久久久久p站| 99久久精品国产观看| 国产精品欧美极品| 国产成人精品一区二区三区网站观看 | 麻豆成人久久精品二区三区小说| 欧美性淫爽ww久久久久无| 亚洲天堂2014| 91免费看`日韩一区二区| 国产精品国产三级国产a | 欧美一区二区三区在线视频| 亚洲成人先锋电影| 欧美精选一区二区| 日韩电影在线看| 日韩欧美一级二级| 国产麻豆91精品| 中国av一区二区三区| 99精品视频一区二区| 亚洲免费av观看|