比如我下拉选项是有:
‘1 名称’
‘2 姓别’
‘3 大小’
我想当选中,其中任何一项时,combobox1.text是选中项前面的那个数字而已,而不是全部。
我本想在oncloseup的事件中这样处理:
combobox1.text:=copy(combobox1.text,1,4);
但发觉得是办不到的。
请问我应该怎样修改这个事件本身。它对应的消息是哪一个?
‘1 名称’
‘2 姓别’
‘3 大小’
我想当选中,其中任何一项时,combobox1.text是选中项前面的那个数字而已,而不是全部。
我本想在oncloseup的事件中这样处理:
combobox1.text:=copy(combobox1.text,1,4);
但发觉得是办不到的。
请问我应该怎样修改这个事件本身。它对应的消息是哪一个?
解决方案 »
- Tidftpserver开发ftp服务器的问题
- 取pchar变量中的前面几位字符该怎么写,就剩10分了~~~~~
- 关于程序提示:无法定位输入点RegisterServiceProcess于动态链接库KERNEL32.DLL上"的问题
- 一个进货主表,一个进货细表,一个库存表.如果库存表里没有商品记录,那么把进货的商品资料写入库存表里,如果有把库存表里的数量同时更改
- 关于 五岳鑫 TW8VID 语音卡的问题
- 在字段中的值比较长如有100多个汉字,我怎么能在QuickRep中把这个字段的值显示出来?
- SQLServer数据库清空问题
- delphi 请教writeprocessmemory函数怎么用
- 谁有使用过delphi + SWF SDK 制作scrollbar
- 我用Tquery进行数据的查询后,如何将查询得到的结果填充到listview控件中?
- 控件颜色设置问题----Tpanel
- 请教!!在线等!
var
strText: String;
begin
strText := ComboBox1.Items.Strings[ComboBox1.ItemIndex];
Edit1.Text := Copy(strText, 1, 1);
end;这样,Edit1.Text中就是1,2,3之类的数值。具体如何应用,你自己考虑。
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
combobox1.Text:=copy(combobox1.Items.Strings[combobox1.itemindex],1,3);
end;
但是combobox1.Text没效果。
begin
ComboBox1.Items.Add('1 姓名');
ComboBox1.Items.Add('2 性别');
ComboBox1.Items.Add('3 年龄');
ComboBox1.Style := csOwnerDrawFixed;
ComboBox1.ItemHeight := 18;
end;
procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
ComboBox1.Canvas.FillRect(Rect);
ComboBox1.Canvas.TextOut(Rect.Left + 1, Rect.Top + 1,
Copy(ComboBox1.Items.Strings[Index], 1, 1));
end;
TForm1 = class(TForm)
ComboBox1: TComboBox;
procedure ComboBox1Select(Sender: TObject);
private
{ Private declarations }
procedure WMUSER10(var Msg: TMessage); message WM_USER + 10;
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.ComboBox1Select(Sender: TObject);
begin
PostMessage(Handle, WM_USER + 10, Integer(Sender), 0);
end;procedure TForm1.WMUSER10(var Msg: TMessage);
begin
TComboBox(Msg.WParam).Text := Copy(TComboBox(Msg.WParam).Text, 1, 4);
end;
1.为什么要在COMBOBOX1SELECT 下发送消息?
2.TComboBox(Msg.WParam).Text 里面Msg.WParam的是什么意思?谢谢
Msg.WParam对应的就是PostMessage(/, /, Integer(Sender), /);
实际上就是这样:
procedure TForm1.ComboBox1Select(Sender: TObject);
begin
PostMessage(Handle, WM_USER + 10, 0, 0);
end;procedure TForm1.WMUSER10(var Msg: TMessage);
begin
ComboBox1.Text := Copy(ComboBox1.Text, 1, 4);
end;
前面的代码适合更具有通用性