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