نمایش نتایج 1 تا 12 از 12

نام تاپیک: مشکل ارسال key به webbrowser دلفی

  1. #1
    کاربر دائمی آواتار SReza1
    تاریخ عضویت
    تیر 1382
    محل زندگی
    کنار تعدادی تراریوم و کاکتوس!
    پست
    702

    مشکل ارسال key به webbrowser دلفی

    سلام
    من یک مشکل دارم اینکه میخوام در webbrowser که کامپوننت اون در دلفی هست این کارها را بکنم
    1- بتونم صفحه به صفحه(Page page) حرکت کنم مثلا همون کاری رو که دکمه pagedown میکنه رو انجام بدم
    بنظر من اگه میشددکمه page down رو به اون پاس بدیم تقریبا حل میشد ولی متاسفانه handle اون بدردم نخورده!یک hwnd هم داره که هر وقت استفاده میکنم error میده من این کار را روی memo انجام دادم جواب گرفتم و روی این object جواب نگرفتم!
    این کد هم جوابمو نداد
    SendMessage(WebBrowser1.Handle,WM_CHAR,32,1);
    32 برای این است که زدن space نیز کار pagedown رو انجام میده(همون کد space)
    بطور خلاصه بگم که میخوام دکمه pagedown رو با زدن یک دکمه انجام بدم!!
    توابعی هم که با scroll کار میکنند جواب نداده! چون اون handle که مال webbrowser است به هیچ درد نمیخوره!
    2- وقتی Ctrl + F رو میزنیم محیط جستجوی webbrowser ظاهر میشه.آیا میشه این کلید رو هم از بیرون صدا بزنم!! اگه بشه این محیط رو فارسی کرد هم عالیه!
    من بی صبرانه منتظر جواب دوستان هستم چون دیگه هنگ کردم! هر چند میدونم یه کمی سوال سخته!!! :cry: :cry:

  2. #2
    کاربر دائمی
    تاریخ عضویت
    مرداد 1382
    محل زندگی
    تهران
    پست
    484
    قبل از اینکه کلید به مرورگر فرستاده بشه باید Focus روی اون قرار بگیره. ولی این کار با فراخوانی متد Webbrowser.SetFocus امکان پذیر نیست. به جای روال عادی که Focus رو روی یک کنترل می‌گذاریم٬ از تابع زیر استفاده کن.

    uses
    MSHTML;

    function FocusDocument(WebBrowser: TWebBrowser): Boolean;
    var
    Document: DispHTMLDocument;
    begin
    Result := False;
    if (WebBrowser.Document <> nil) and
    (WebBrowser.Document.QueryInterface(DispHT MLDocument, Document) = S_OK) then
    begin
    (Document.parentWindow as IHTMLWindow2Disp).focus;
    Result := True;
    end;
    end;

  3. #3
    کاربر دائمی
    تاریخ عضویت
    مرداد 1382
    محل زندگی
    تهران
    پست
    484
    یادم رفت بگم، بجای فرستادن Message به مرورگر٬ چون معلوم نیست که کدوم Window باید دریافت کننده Message باشه٬ بصورت زیر عمل کن:

    FocusDocument(WebBrowser1);
    keybd_event(VK_SPACE, 0, 0, 0);
    keybd_event(VK_SPACE, 0, KEYEVENTF_KEYUP, 0);

  4. #4
    کاربر دائمی آواتار SReza1
    تاریخ عضویت
    تیر 1382
    محل زندگی
    کنار تعدادی تراریوم و کاکتوس!
    پست
    702

    تشکرات فراوان

    سلام به delphi area عزیز
    بابا جدا که سلطان دلفی هستی :shock: !! نمی دونی چقدر حال کردم!!! خیلی خیلی خیلی ممنون!!خیلی عالی بود!
    اگه ممکنه در خصوص ctrl + F هم یه کمکی کن که بتونم اونو به صورت فارسی نشون بدم و اینکه اصلا کلید Ctrl + F رو چطور به اون پاس بدم. باز هم از روش عالیه شما تشکر میکنم
    :lol: :lol: :lol: :wink: :wink:

  5. #5
    کاربر دائمی
    تاریخ عضویت
    مرداد 1382
    محل زندگی
    تهران
    پست
    484
    خواهش می‌کنم. :oops:

    بجای TWebBrowser بهتره از TEmbeddedWB استفاده کنی. این کامپوننت از همون TWebBrowser مشتق شده با این تفاوت که قابلیتهای دیگر IE رو هم بهش اضافه کرده‌اند. برای دیالوگ جستجو هم تابع ویژه خودش رو در اختیارت می‌گذاره.

    تا حالا به فارسی کردن دیالوگها فکر نکردم و چیزی به ذهنم نمی‌رسه. ولی اگر تاپیک خودش رو باز کنی٬ حتما" بقیه دوستان راهکارهایی برای پیشنهاد دارند.

  6. #6
    کاربر دائمی
    تاریخ عضویت
    مرداد 1382
    محل زندگی
    تهران
    پست
    484
    بازم یادم رفت که یک چیزی رو بگم. :)
    نسخه اصلی رو دلفی 7 نصب نمی‌شه و توش یک Memory Leak کوچولو هم هست. برای رفع این رفع این مشکلات٬ نسخه‌ای رو که اینجا پیوست کردم با اون نسخه‌ی اصلی جایگزین کن.

    متاسفانه دسترسی به نویسنده کامپوننت نیست که بشه نسخه اصلاح شده رو روی سایت اصلی قرار داد.

  7. #7
    کاربر دائمی آواتار SReza1
    تاریخ عضویت
    تیر 1382
    محل زندگی
    کنار تعدادی تراریوم و کاکتوس!
    پست
    702

    جواب

    این کامپوننت نصب نشد! یکی از doc را می گفت نمیشناسم!! البته من فقط اون آخری رو download کردما!! نمی دونم درسته یا نه؟

  8. #8
    کاربر دائمی آواتار SReza1
    تاریخ عضویت
    تیر 1382
    محل زندگی
    کنار تعدادی تراریوم و کاکتوس!
    پست
    702
    بالاخره کدومو استفاده کنیم؟؟ :oops:

  9. #9
    کاربر دائمی
    تاریخ عضویت
    مرداد 1382
    محل زندگی
    تهران
    پست
    484
    به! :)

    گفتم که فایلهای کامپوننت رو از خود سایت اصلی بگیر (سه تا یونیت تو یک فایل zip هست) و بعد این یونیتی رو که من پیوست کردم با اون یونیتی که از اونجا گرفتی عوض کن.

    وقتی که این کامپوننت متدی برای فراخوانی دیالوگ جستجو در اختیار میگذاره٬ فرستادن کلید CTRL+F به مرورگر کار مناسبی نیست. اما با این حال این ترکیب کلید رو اینجوری می‌تونی بفرستی:

    keybd_event(VK_CONTROL, 0, 0, 0); 
    keybd_event(Ord('F'), 0, 0, 0);
    keybd_event(Ord('F'), 0, KEYEVENTF_KEYUP, 0);
    keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);

  10. #10
    کاربر دائمی آواتار SReza1
    تاریخ عضویت
    تیر 1382
    محل زندگی
    کنار تعدادی تراریوم و کاکتوس!
    پست
    702

    جواب

    سلام
    از بابت ctrl + F ممنون!! باید این کامپوننت ها رو نصب کنم ببینم چی میشه! :oops:

  11. #11
    کاربر دائمی آواتار SReza1
    تاریخ عضویت
    تیر 1382
    محل زندگی
    کنار تعدادی تراریوم و کاکتوس!
    پست
    702

    جواب

    راستی!! این کامپوننت روی یک سیستم clear که دلفی نداره براحتی کار میکنه یا نه؟
    webbrowser جطور؟

  12. #12
    کاربر دائمی
    تاریخ عضویت
    مرداد 1382
    محل زندگی
    تهران
    پست
    484
    به IE نیاز دارند نه دلفی.

تاپیک های مشابه

  1. امکان ویرایش درwebbrowser
    نوشته شده توسط mohandesan در بخش VB.NET
    پاسخ: 11
    آخرین پست: دوشنبه 22 مرداد 1386, 08:11 صبح
  2. راست کلیک در WebBrowser
    نوشته شده توسط masi.a در بخش برنامه نویسی در Delphi
    پاسخ: 2
    آخرین پست: شنبه 19 اسفند 1385, 09:23 صبح
  3. فرستادن متغیر به جای فایل به ocx مربوط به webbrowser
    نوشته شده توسط پدرخوانده در بخش Foxpro
    پاسخ: 1
    آخرین پست: پنج شنبه 10 اسفند 1385, 15:16 عصر
  4. مشکل با WebBrowser
    نوشته شده توسط shaghayegh_6113 در بخش کامپوننت های سایر شرکت ها، و توسعه کامپوننت
    پاسخ: 3
    آخرین پست: یک شنبه 22 بهمن 1385, 12:29 عصر
  5. استفاده از WebBrowser در یک حلقه از آدرس ها
    نوشته شده توسط shahab_ksh در بخش VB.NET
    پاسخ: 4
    آخرین پست: جمعه 07 مهر 1385, 13:37 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •