假设组合框包含 URL,那么您只需执行以下操作:
ShellExecute(Handle, nil, PChar(ComboBox1.Text), nil, nil, SW_SHOW);
没有必要传递动词。传递 nil 并使用默认动词。事实上,有时您会遇到浏览器无法将动作注册到打开动词。
如果您已剥离组合中显示的链接文本的协议,则应将其添加回来:
ShellExecute(Handle, nil, PChar('http://'+ComboBox1.Text), nil, nil, SW_SHOW);
从评论来看,您真正想要的是 URL 和友好名称之间的一对一映射。将它们都放入记录中:
type
TSiteInfo = record
URL: string;
FriendlyName: string;
end;
然后创建它们的列表TList<TSiteInfo>
,或动态数组,TArray<TSiteInfo>
或array of TSiteInfo
。然后填充列表或数组。然后使用该结构用友好的名称填充您的组合框。单击按钮时,读取所选索引,ComboBox1.ItemIndex
。最后,使用该索引查找 URL。
另一种选择是使用字典来关联 URL 和友好名称。就个人而言,我更喜欢列表TSiteInfo
。