冥界3大法王 发表于 2020-7-11 08:20

Delphi的TUpDown就是上下箭头的那个控件

能不能一个按钮完成以下两个动作?

有以下字符串 0F 84 ?? ?? ??
点上变成      0F 84 ?? ?? ?? ??
点下变成      0F 84 ?? ??

感觉那个好看省地方啊。

要用以下代码,能完成,但不好看啊。
procedure TForm2.Button1Click(Sender: TObject);
begin
Edit5.Text := trimright(Edit5.Text);
Edit5.Text := LeftStr(Edit5.Text, Length(Edit5.Text) - 2);
end;

procedure TForm2.Button2Click(Sender: TObject);
begin
Edit5.Text := trimright(Edit5.Text);
Edit5.Text := Edit5.Text + ' ??'
end;

不苦小和尚 发表于 2020-7-11 08:46

buttonclick里面判断下鼠标按键就行了

psp7456 发表于 2020-7-11 08:54

updown是控制数字的,你可以根据数字变化决定执行什么代码。

冥界3大法王 发表于 2020-7-11 09:06

psp7456 发表于 2020-7-11 08:54
updown是控制数字的,你可以根据数字变化决定执行什么代码。

对啊,问题来。
它默认是分配一个Edit的,
但你分配后之后,原来的Edit就被清空了
它控制的整数,而不是字符串啊

冥界3大法王 发表于 2020-7-11 09:19

成功了,但问题来:
procedure TForm2.UpDown1Click(Sender: TObject; Button: TUDBtnType);
begin
if Button = btNext then
begin
    Edit9.Text := trimright(Edit9.Text);
    Edit9.Text := LeftStr(Edit9.Text, Length(Edit9.Text) - 2);
end
else
begin
    Edit9.Text := trimright(Edit9.Text);
    Edit9.Text := Edit9.Text + ' ??';
end;
end;

增加几位后,就增不动了。不知为什么。

psp7456 发表于 2020-7-11 09:21

冥界3大法王 发表于 2020-7-11 09:06
对啊,问题来。
它默认是分配一个Edit的,
但你分配后之后,原来的Edit就被清空了


你把和数字绑定的edit隐藏,就让他默默的显示数字,而在updown这个按钮改变的事件里面,根据数字变化修改你想显示字符串的edit

ebookread 发表于 2020-7-11 09:53

这个有最大值与最小值范围设置,超过这个设置范围就不能改变

冥界3大法王 发表于 2020-7-11 11:08

ebookread 发表于 2020-7-11 09:53
这个有最大值与最小值范围设置,超过这个设置范围就不能改变

修改了MAX 不起作用。

deng00200 发表于 2020-7-11 11:08

页: [1]
查看完整版本: Delphi的TUpDown就是上下箭头的那个控件