2
当执行该代码时,src
和alt
设置正确,但border
,align
,hspace
vspace
和产生EOleException
- 坏varialble类型。可以WebBrowser文档图像边框,对齐,hSpace和vSpace设置?
是否可以设置border
,align
,hspace
和vspace
与网页浏览器,如果是这样,如何?
无论如何找出正确的变量类型是什么?
iDoc := (WebBrowser1.Document as IHTMLDocument2);
iDoc.execCommand('InsertImage', False, 0);
iImageIndex := WebBrowser1.OleObject.Document.Images.Length - 1;
iImageFileName := ExtractFileName(iImageFilePath);
// Change the src path to a relative path
iSrc := ChangeFilePath(iImageFilePath, '..\Images\');
iImageTextAlternative := FormInsertImage.AlternateText1.Text;
// Set Src
WebBrowser1.OleObject.Document.Images.Item(iImageIndex).src := iSrc;
// Set a text alternative to the graphic
WebBrowser1.OleObject.Document.Images.Item(iImageIndex).Alt := iImageTextAlternative;
// Set border
WebBrowser1.OleObject.Document.Images.Item(iImageIndex).border := FormInsertImage.Border1.EditValue;
// Set align
WebBrowser1.OleObject.Document.Images.Item(iImageIndex).align := FormInsertImage.Alignment1.EditValue;
// Set hSpace
WebBrowser1.OleObject.Document.Images.Item(iImageIndex).hSpace := FormInsertImage.hSpace1.EditValue;
// Set vSpace
WebBrowser1.OleObject.Document.Images.Item(iImageIndex).vSpace := FormInsertImage.vSpace1.EditValue;
编辑 - 这就是现在的作品...
iDocument := (TopicWebBrowser1.Document as IHTMLDocument2);
if Assigned(iDocument) then
begin
// Insert the image
iDocument.execCommand('InsertImage', False, 0);
while TopicWebBrowser1.ReadyState < READYSTATE_COMPLETE do
Application.ProcessMessages;
HTMLElementCollection := (TopicWebBrowser1.Document as IHTMLDocument2).images;
iImageIndex := TopicWebBrowser1.OleObject.Document.images.Length - 1;
HTMLImgElement := (HTMLElementCollection.Item(iImageIndex, 0) as IHTMLImgElement);
// Set the src, alt, border, align, hspace and vspace HTMLImgElement.src := ChangeFilePath(FormInsertImage.PictureName1.Text, '..\Images\');
// Change the src path to a relative path
HTMLImgElement.alt := FormInsertImage.AlternateText1.Text;
HTMLImgElement.border := FormInsertImage.Border1.EditValue;
HTMLImgElement.align := FormInsertImage.Alignment1.EditValue;
HTMLImgElement.hspace := FormInsertImage.hspace1.EditValue;
HTMLImgElement.vspace := FormInsertImage.vspace1.EditValue;
end;
我不得不告诉你了的感觉! ;) – kobik 2012-01-16 22:34:49