本文将带您了解关于Delphi设置文本框中光标的位置在最后的新内容,同时我们还将为您解释delphi设置文本框中光标的位置在最后怎么设置的相关知识,另外,我们还将为您提供关于c#–当文本框为空时,如何
本文将带您了解关于Delphi 设置文本框中光标的位置在最后的新内容,同时我们还将为您解释delphi 设置文本框中光标的位置在最后怎么设置的相关知识,另外,我们还将为您提供关于c# – 当文本框为空时,如何在文本框中设置文本以显示提示?、delphi – 如何在编辑控件中偏移光标的位置?、delphi – 如何在编辑框中隐藏密码文本?、delphi – 如何将文本作为拖动光标?的实用信息。
本文目录一览:- Delphi 设置文本框中光标的位置在最后(delphi 设置文本框中光标的位置在最后怎么设置)
- c# – 当文本框为空时,如何在文本框中设置文本以显示提示?
- delphi – 如何在编辑控件中偏移光标的位置?
- delphi – 如何在编辑框中隐藏密码文本?
- delphi – 如何将文本作为拖动光标?
Delphi 设置文本框中光标的位置在最后(delphi 设置文本框中光标的位置在最后怎么设置)
总结
以上是小编为你收集整理的Delphi 设置文本框中光标的位置在最后全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
c# – 当文本框为空时,如何在文本框中设置文本以显示提示?
有没有办法实现这一目标?
我已经尝试制作静态文本并将其着色为灰色,但是当光标聚焦到该文本框时却没有得到如何使其变空.
解决方法
<asp:TextBox ID="TextBox1" runat="server" placeholder="Hint Text"></asp:TextBox>
delphi – 如何在编辑控件中偏移光标的位置?
如何偏移在TCustomEdit后代中绘制文本和光标的位置的Rect?
解决方法
如果没有,我认为您可以向TCustomEdit发送EM_SETMARGINS消息以设置左右边距.
SendMessage(CustomEdit.Handle,EM_SETMARGINS,EC_LEFTMARGIN or EC_RIGHTMARGIN,MakeLong(LeftMargin,RightMargin));
delphi – 如何在编辑框中隐藏密码文本?
这可能吗?
这是我的代码到目前为止
var password : string; begin password := InputBox('Password: ','Please enter your password: ',password) end;
解决方法
但标准的Windows编辑控件具有“密码模式”.要测试这个,只需将一个TEdit添加到窗体并将其PasswordChar设置为*.
如果你想在输入框中使用这样一个编辑,你必须自己写这个对话框,就像我的“超级输入对话框”一样:
type TMultiInputBox = class strict private class var frm: TForm; lbl: TLabel; edt: TEdit; btnOK,btnCancel: TButton; shp: TShape; FMin,FMax: integer; FTitle,FText: string; class procedure SetupDialog; class procedure ValidateInput(Sender: TObject); public class function TextInputBox(AOwner: TCustomForm; const ATitle,AText: string; var Value: string): boolean; class function NumInputBox(AOwner: TCustomForm; const ATitle,AText: string; AMin,AMax: integer; var Value: integer): boolean; class function PasswordInputBox(AOwner: TCustomForm; const ATitle,AText: string; var Value: string): boolean; end; class procedure TMultiInputBox.SetupDialog; begin frm.Caption := FTitle; frm.Width := 512; frm.Position := poOwnerFormCenter; frm.BorderStyle := bsDialog; lbl := TLabel.Create(frm); lbl.Parent := frm; lbl.Left := 8; lbl.Top := 8; lbl.Width := frm.ClientWidth - 16; lbl.Caption := FText; edt := TEdit.Create(frm); edt.Parent := frm; edt.Top := lbl.Top + lbl.Height + 8; edt.Left := 8; edt.Width := frm.ClientWidth - 16; btnOK := TButton.Create(frm); btnOK.Parent := frm; btnOK.Default := true; btnOK.Caption := 'OK'; btnOK.ModalResult := mrOk; btnCancel := TButton.Create(frm); btnCancel.Parent := frm; btnCancel.Cancel := true; btnCancel.Caption := 'Cancel'; btnCancel.ModalResult := mrCancel; btnCancel.Top := edt.Top + edt.Height + 16; btnCancel.Left := frm.ClientWidth - btnCancel.Width - 8; btnOK.Top := btnCancel.Top; btnOK.Left := btnCancel.Left - btnOK.Width - 4; frm.ClientHeight := btnOK.Top + btnOK.Height + 8; shp := TShape.Create(frm); shp.Parent := frm; shp.Brush.Color := clWhite; shp.Pen.Style := psClear; shp.Shape := stRectangle; shp.Align := alTop; shp.Height := btnOK.Top - 8; shp.SendToBack; end; class function TMultiInputBox.TextInputBox(AOwner: TCustomForm; const ATitle,AText: string; var Value: string): boolean; begin FTitle := ATitle; FText := AText; frm := TForm.Create(AOwner); try SetupDialog; edt.NumbersOnly := false; edt.PasswordChar := #0; edt.Text := Value; edt.OnChange := nil; result := frm.ShowModal = mrOK; if result then Value := edt.Text; finally frm.Free; end; end; class function TMultiInputBox.PasswordInputBox(AOwner: TCustomForm; const ATitle,AText: string; var Value: string): boolean; begin FTitle := ATitle; FText := AText; frm := TForm.Create(AOwner); try SetupDialog; edt.NumbersOnly := false; edt.PasswordChar := '*'; edt.Text := Value; edt.OnChange := nil; result := frm.ShowModal = mrOK; if result then Value := edt.Text; finally frm.Free; end; end; class procedure TMultiInputBox.ValidateInput(Sender: TObject); var n: integer; begin btnOK.Enabled := TryStrToInt(edt.Text,n) and InRange(n,FMin,FMax); end; class function TMultiInputBox.NumInputBox(AOwner: TCustomForm; const ATitle,AMax: integer; var Value: integer): boolean; begin FMin := AMin; FMax := AMax; FTitle := ATitle; FText := AText; frm := TForm.Create(AOwner); try SetupDialog; edt.NumbersOnly := true; edt.PasswordChar := #0; edt.Text := IntToStr(value); edt.OnChange := ValidateInput; result := frm.ShowModal = mrOK; if result then Value := StrToInt(edt.Text); finally frm.Free; end; end;
尝试一下:
procedure TForm1.Button1Click(Sender: TObject); var str: string; begin str := ''; if TMultiInputBox.PasswordInputBox(Self,'Password','Please enter your password:',str) then ShowMessageFmt('You entered %s.',[str]); end;
Screenshot http://privat.rejbrand.se/superinputdlgpsw.png
delphi – 如何将文本作为拖动光标?
解决方法
type TTextDragObject = class(TDragControlObjectEx) private fdragImages: TDragImageList; FText: String; protected function GetDragImages: TDragImageList; override; end; { TTextDragObject } function TTextDragObject.GetDragImages: TDragImageList; var Bmp: TBitmap; begin if fdragImages = nil then begin fdragImages := TDragImageList.Create(Control); Bmp := TBitmap.Create; try Bmp.Width := Bmp.Canvas.TextWidth(FText); Bmp.Height := Bmp.Canvas.TextHeight(FText); Bmp.Canvas.textout(0,FText); fdragImages.Width := Bmp.Width; fdragImages.Height := Bmp.Height; fdragImages.SetDragImage(fdragImages.Add(Bmp,nil),0); finally Bmp.Free; end; end; Result := fdragImages; end; { TForm1 } procedure TForm1.FormCreate(Sender: TObject); begin ControlStyle := ControlStyle + [csdisplayDragImage]; ListBox1.ControlStyle := ListBox1.ControlStyle + [csdisplayDragImage]; end; procedure TForm1.ListBox1StartDrag(Sender: TObject; var DragObject: TDragObject); var List: TListBox absolute Sender; begin DragObject := TTextDragObject.Create(List); if List.ItemIndex > -1 then TTextDragObject(DragObject).FText := List.Items[List.ItemIndex]; end;
关于Delphi 设置文本框中光标的位置在最后和delphi 设置文本框中光标的位置在最后怎么设置的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于c# – 当文本框为空时,如何在文本框中设置文本以显示提示?、delphi – 如何在编辑控件中偏移光标的位置?、delphi – 如何在编辑框中隐藏密码文本?、delphi – 如何将文本作为拖动光标?等相关知识的信息别忘了在本站进行查找喔。
本文标签: