ورود

View Full Version : سوال: چند سوال در مورد WebBrowser



rezankh
سه شنبه 23 مهر 1392, 19:15 عصر
با سلام
با عرض پوزش از جناب واژدي عزيز كه ابتدا در تاپيك اشتباه سوالم رو مطرح كردم.
چند سوال در مورد وب براوزر دارم :
1 - چطور ميشه شي وب براوزر رو خاصيت Enabele ش رو False نمود؟

2 - چطور ميشه در وب براوزر يك دكمه كه نه نام داره و نه آي دي، رو غير فعال نمود؟ ( خاصيت Enabele و يا حتي Visibleش رو False نمود كه كاربر يا نتونه باهاش كار كنه يا اينكه نبينتش.)

3- در اينترنت اكثر باكس‌ها داراي خاصيت AutoComplete ( نمايش مقادير قبلي وارد شده ) هستند. ولي زماني كه از وب براوزر استفاده ميشه، اين خاصيت اجرا نميشه. آيا ميشه اين مشكل رو حل نمود؟

4- آيا ميشه در وب بروزر همانند اينترنت اكسپلورر مقدار Zoom رو تغيير داد؟

با تشكر.

rezankh
چهارشنبه 01 آبان 1392, 16:33 عصر
سلام
اساتيد محترم و دوستان كسي اطلاعاتي در موارد فوق نداره؟ ممنون ميشم راهنمايي كنيد.

talent1
چهارشنبه 01 آبان 1392, 19:27 عصر
ج1: وب بروزی silent داره که تو کد نویسی باید false بشه
ج2: فکر نکنم بشه چون باید تو سایت دست کاری کرد ذبطی به این کامپونت نداره
چ3:فکر کنم باید یه دیتا بیس درست کنی
ج4:اونم فکر کنم با کد نویسی حل بشه
البته کارای که گفتی فکرنکنم زیاد سخت باشه یه خورده خلاقیت میخواد و حوصله

rezankh
چهارشنبه 01 آبان 1392, 19:48 عصر
سلام
1- منظور من از خاصيت Enabel عدم دسترسي كاربر به وب براوزر در هنگام كار با يك دكمه خاص بود. ضمن اينكه silent وب براوزرم رو بخاطر خطا‌هاي قبلي false كرده بودم و فكر نكنم ربطي به فعال نشدن خود وب براوزر داشته باشه. اگه داره لطفا توضيح بديد.
3- منظورم از خاصيت AutoComplete ، خود كمبوهاي وب سايت بود كه در حالت عادي درسته ولي وقتي تو شي وب براوزر قرار مي‌گيرند كار نمي‌كنند. چطور ميتونم كد نويسي كنم كه اين خاصيتش فعال بشه؟
4- لطفا توضيح بديد چطور كد بنويسم تا زوم تغيير پيدا كنه.
با تشكر از شما كه توجه نموديد.

SlowCode
چهارشنبه 01 آبان 1392, 21:00 عصر
سلام

1 - چطور ميشه شي وب براوزر رو خاصيت Enabele ش رو False نمود؟نمیدونم! ولی میتونی وب بروزر رو داخل یه پیکچر باکس بزاری و هنگام نیاز پیکچر باکس رو غیرفعال کنی:لبخند:

2 - چطور ميشه در وب براوزر يك دكمه كه نه نام داره و نه آي دي، رو غير فعال نمود؟ ( خاصيت Enabele و يا حتي Visibleش رو False نمود كه كاربر يا نتونه باهاش كار كنه يا اينكه نبينتش.)باید گشت و گذار بین عناصر رو با استفاده از دستورات شئ DOM رو یاد بگیری.
سعی کن واسه یکی از عناصر والد عنصر هدفت یه خاصیت پیدا کنی بعد از روی اون یه شئ بساز و با استفاده از این دستورات عنصر مورد نظر رو پیدا کن.
http://www.w3schools.com/jsref/dom_obj_all.asp
البته نمیدونم وب همه اینا ساپورت میشن یا نه! تست کن.
Set Parent = WebBrowser1.Document.getElementByID("xxx")


3- در اينترنت اكثر باكس‌ها داراي خاصيت AutoComplete ( نمايش مقادير قبلي وارد شده ) هستند. ولي زماني كه از وب براوزر استفاده ميشه، اين خاصيت اجرا نميشه. آيا ميشه اين مشكل رو حل نمود؟خاصیت AutoComplete به HTML مربوط میشه. و طراح سایت میتونه اونو فعال یا غیرفعال کنه.
البته از قسمت Internet Options IE هم میشه تنظیمش کرد ولی بعید میدونم که تو تنظیمات Webbrowser این امکان وجود داشته باشه.
شاید هم باشه جستجو کن.

4- آيا ميشه در وب بروزر همانند اينترنت اكسپلورر مقدار Zoom رو تغيير داد؟بله، این کد زوم رو روی 75 درصد تنظیم میکنه.
WebBrowser1.ExecWB OLECMDID_OPTICAL_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, CLng(75), vbNull

SlowCode
چهارشنبه 01 آبان 1392, 21:13 عصر
واسه Autocomplete میتوی موقع باز شدن برنامه اون خاصیت رو کال واسه IE غیرفعال کنی و موقع بستن برنامه هم دوباره فعالش کنی.
این مسیر رجیستریش هست:


HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\AutoComplete\Append Completion="yes|no"

میتونی یه فایل reg درست کنی و اونو با shell به صورت Hidden باز کنی، اینو توی نوت چد بنویس و با فرمت reg ذخیره کن.
واسه فعال کردن:


Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\AutoComplete]
"Append Completion"="yes"

واسه غیرفعال کردن:


Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\AutoComplete]
"Append Completion"="no"

rezankh
چهارشنبه 01 آبان 1392, 23:45 عصر
با تشكر
از جناب محسن عزيز از اينكه مجدد سوال ميكنم عذر خواهم.
1 - در مورد


بله، این کد زوم رو روی 75 درصد تنظیم میکنه.
WebBrowser1.ExecWB OLECMDID_OPTICAL_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, CLng(75), vbNull

اين كد رو توي فرم لود گذاشتمكه خطاي عكس دوم رو داد. اين كد رو كجا بايد بزارم؟
2 - در مورد Autocomplete كارهايي رو كه گفتيد انجام دادم و در لود برنامه كد زير يعني فعال شدن Autocomplete رو گذاشتم.


Shell "regedit.exe '" & App.Path & "\AutoCompleteTrue.reg" & "'"

البته hidden نتونستم بكنمش. بهر حال در زمان تاييد نمودن خطاي عكس اول رو داد. البته دو فايل reg ايجاد شده در در درون ويندوز اجرا مي‌شدند و حتي مقدار Append Completion در ريجستري نيز تغيير پيدا مي‌كرد ولي همچنان خاصيت Autocomplete در اينترنت اكسپلورر فعال بود.
ممنون.

SlowCode
پنج شنبه 02 آبان 1392, 09:24 صبح
احتمالا تو رویداد فرم لود میخوای زوم کنی، یا قبل از لود کامل صفحه. به همین دلیل خطا میده. صبر کن صفحه کامل لود بشه بعد بزن. میتونی از رویداد NavigateComplete2 هم استفاده کنی.
واسه AutoComplete هم نتونستم کاری بکنم.

rezankh
پنج شنبه 02 آبان 1392, 17:48 عصر
سلام
كد زوم رو در رويدادهاي NavigateComplete2 ، DownloadComplete و DocumentComplete كه مربوط به لود كامل هستند گذاشتم ولي بازهم همون خطا رو ميده.
البته WebBrowser1.ExecWB خاصيت OLECMDID_OPTICAL_ZOOM رو نداره و بجاش OLECMDID_ZOOM رو داره كه با اونم تمام حالتها رو امتحان كردم جواب نداد.
اگه ممكنه خودتون تست بكنيد و اگه براي شما جواب داد سورسش رو بذاريد.

SlowCode
پنج شنبه 02 آبان 1392, 22:21 عصر
واسه من کار میکنه!
اینو تست کن (http://www.mediafire.com/download/273kitccnbvk9r4/WebBrowser_Zoom.zip)

rezankh
پنج شنبه 02 آبان 1392, 23:06 عصر
خيلي عجيبه تو سيستم من بازهم همون خطا رو ميده. اينترنت اكسپلورتون ورژن چنده مال من ورژن 8 هست ممكنه از اين مورد باشه. براي حل مشكل عكسهاي مربوط به خطا رو در Debug رو ببينيد.

SlowCode
پنج شنبه 02 آبان 1392, 23:27 عصر
به جای OLECMDID_OPTICAL_ZOOM بنویس 63
یا تو جنرال یه ثابت با این اسم بساز و مقدار رو بهش بده.
منبع (http://msdn.microsoft.com/en-us/library/windows/desktop/ms691264%28v=vs.85%29.aspx)

مال من ورژن 10 هست.

rezankh
جمعه 03 آبان 1392, 00:48 صبح
حالا درست شد. دست گلتون درد نكنه.
در مورد AutoComplete ديگه نظر يا راهنمايي نداريد كه خودم برم دنبالش. چون اين يكي براي كاربري آسون برنامه نيازه.

rezankh
جمعه 03 آبان 1392, 00:58 صبح
حالا درست شد. دست گلتون درد نكنه.
در مورد AutoComplete ديگه نظر يا راهنمايي نداريد كه خودم برم دنبالش. چون اين يكي براي كاربري آسون برنامه نيازه.
منبع جالبي هم گذاشته بوديد سعي كردم داخلش در مورد AutoComplete جستجو كنم كه متاسفانه چون اطلاعاتم تو اين زمينه كم بود، چيزي پيدا نكردم و موندم كدوم قسمت رو بايد بگردم.

rezankh
یک شنبه 05 آبان 1392, 21:22 عصر
سلام
با تشكر از جناب آقا محسن كه جواب اكثر سوالام رو دادند، مورد AutoComplete همچنان مونده. اساتيدي كه از وب براوزر استفاده مي‌كنند اصلا اين مشكل رو دارند يا خير اگه دارند چيكار مي‌كنند؟