ورود

View Full Version : استفاده از Zoom کامپوننت TWebBrowser



Mahmood_M
شنبه 27 بهمن 1386, 21:12 عصر
با سلام ...

من یک فایل HTML رو در یک WebBrowser نمایش میدم ، حالا میخوام اون رو در ابعاد کوچکتر نمایش بدم ، یعنی کامپوننت WebBrowser من ( مثلا ) اندازش هست : " عرض : 200 و ارتفاع : 300 " و عرض صفحه ای که توش باز شده 300 هست ، میخوام کل عرض صفحه در WebBrowser دیده بشه ...

با تشکر ...

vcldeveloper
یک شنبه 28 بهمن 1386, 17:26 عصر
با استفاده از متد ExecWB و دستورات زیر می تونید Zoom رو کنترل کنید:
OLECMDID_ZOOM
و برای IE7:
OLECMDID_OPTICAL_ZOOM

برای اطلاعات بیشتر، توضیحات MSDN درباره ExecWB (http://msdn2.microsoft.com/en-us/library/aa752117.aspx) و OLECMDID (http://msdn2.microsoft.com/en-us/library/ms691264.aspx) را مطالعه کنید.

Mahmood_M
یک شنبه 28 بهمن 1386, 22:30 عصر
با تشکر از جناب کشاورز ...
من از این دستور به صورت زیر استفاده کردم :

WebBrowser.ExecWB(OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER);

اما چطور باید مقدار Zoom رو مشخص کنم ، من میخوام از اندازه اصلی کوچکتر بشه ...
با اجرای کد بالا این Error نشون داده میشه :

Trying to revoke a drop target that has not been registered
با توجه به پیغام بالا از دستور زیر استفاده کردم :

WebBrowser.RegisterAsDropTarget;
اما باز هم همون Error نشون داده میشه ...

درضمن ، دستور ExecWB چند ( 3 ) نسخه داره ، از کدومش باید استفاده کنم ؟
2 نسخه دیگر این دستور 2 پارامتر اضافی دارن که توی Help دلفی در موردشون این رو نوشته بود :

pvaIn : specifies a Variant array that contains any input arguments. This value can be omitted if there are not input arguments.

pvaOut : specifies a Variant that receives the results of the command, if any. This value can be omitted if there are no results.
اما نتونستم دقیقا وظیفشون رو بفهمم !
با توجه به توضیحاتی که در MSDN اومده بود ، فهمیدم که باید مقدار Zoom رو اولی ( pvaIn ) وارد کنم و اون مقدار خروجی رو در دومی ( pvaOut ) بهم میده ، اما چطور باید از این دستور استفاده کرد ، با توجه که نوع این دو تا پارامتر از نوع OleVariant هست ...

منتظر راهنمایی دوستان هستم ... ، با تشکر ...

vcldeveloper
دوشنبه 29 بهمن 1386, 02:18 صبح
من با این Zoom کار نکردم، اما توی لیست ثابت های OLECMDID فرمان هایی هم برای بدست آوردن زوم فعلی و محدوده زوم مجاز هم وجود داره. توی MSDN در صفحه مربوط به OLECMDID و بخش مربوط به زوم، مطالبی درباره پارامترهای ورودی و خروجی مرتبط با آن نوشته، یادم هست که این مطلب رو اونجا دیدم.

esi022
دوشنبه 29 بهمن 1386, 12:45 عصر
http://www.swissdelphicenter.ch/torry/showcode.php?id=1537