الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مساعدة في انشاء محرر اكواد html

بدأه السكر المغرور في 22 مايو 2010 · 0 رد · 634 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1

السلام عليكم و رحمة الله ..

كيف الحال اخواني ..

عندي مشروع و من ضمن المشروع اني اصلح محرر html

المهم بحثت في الانترنت و وجدت مواضيع و لكنها كانت بدون جدوى معي

فمثلاً هذه احد المواضيع و يا ليت احد يقولي اذا في حالة تطبق معاه او لا :

الموضوع: كيفية إنشاء أداة محرر HTML خاص بك.

المستوى: متوسط

في هذا المقال سأقوم بتوضيح كيفية إنشاء محرر HTML خاص بك, حيث يمكن إنشاء Windows Control Library, واستخدامه لاحقا في برامجك إن احتجت غليه يوما ما.

في البداية, يجب التنويه إلى أن برمجة هذا النوع من الأدوات يحتاج إلى إضافة مرجع COM (Com reference) إلى مشروعك, وهو مكتبة, وأن مشروعك سواءاَ كان تطبيق Windows, أو اداة تحكم Control Library , فلا بد من إرفاق الملفات الخاصة بهذا المرجع.

maindesign1.jpg

أولا: إنشاء مشروع جديد

بالنسبة لمستخدمي إصدار Visual Studio:

أنشئ مشروع جديد من النوع Control Class Library, وقم بتسميته HtmlControl.

بالنسبة لمستخدمي إصدار Visual Basic Express Edition:

o عند إنشاء مشروع Class Library في Visual Basic Express Edition, لايتم تضمين المرجع System.Windows.Forms, ولإضافته

o من خلال القائمة Project, ثم اختر من القائمة المنسدلة Add User Control, عند ظهور مربع الحوار,قم بتسمية User Control بـ "HTMLEditor" مثلا,ثم أنقر "Add".

o عندئذ سيتم إضافة المرجع System.Windows.Forms تلقائيا.

ثانيا: إضافة المكتبات اللازمة للمشروع

قم بإضافة مرجع Com كما يلي:

• من القائمة Project, اختر من القائمة المنسدلة Add Reference, عند ظهور مربع الحوارو ,اختر التبويب Com وابحث عن 'Microsoft HTML Object Library', ثم أنقر نقرا مزدوجا عليه لإضافته.

ثالثا: التصميم الأولي للأداة HTMLEditor

من الشريط الجانبي ToolBox, قم بإدراج أداة التحكم WebBrowser, إما بالنقر نقرا مزدوجا, أو قم بسحبه إلى الـ User Control الذي انشاناه للتو, ثم قم بتسميتها " HTMLEditor".

رابعا: كتابة التعليمات البرمجية:

• قم باستيرا مجالات الأسماء التالية في كود الأداة

Imports System.mshtml

عرِّف على المستوى النموذج المتغير doc من النوع IHTMLDocument2

Private doc as IHTMLDocument2

في حدث تحميل النموذج, قم بإضافة الكود التالي:


HTMLEditor.DocumentText = "<html><body></body></html>"
doc.designMode = "On" ' هذا الكود يقوم بتعيين الأداة إلى وضع التصميم
doc =  HTMLEditor.Document.DomDocument ' هذا الكود يقوم بتجهيز محتوى جسم صفحة الـ HTML

خامسا:

تهيئة الاداة

سنحتاج لإضافة ToolStrip شريط أداوت لتحرير محتوى الصفحة مثل تعيين زر Bold’, وزري Do و Redo ...

كما في الصورة التالية:

maindesign2.jpg

قم بإضافة زر button للأداة ToolStrip1 التي اضفتها للتو.

قم بتغغير اسمها إلى Bold

في حدث النقر على هذا الزر, أضف الكود التالي:

HTMLEditor.Document.ExecCommand("Bold", False, Nothing)

حيث تشير المعلِّمة "Bold" إلى طبيعة الأمر الذي نرغب في تنفيذه

بينما تشير المعلِّمة الثانية, إن كان سيظهر مربع الحوار Font المرفق مع مكتبة MSHTML أم لا

بينما المعلِّمة الثالثة غلى قيمة المتغير.

وفيما يلي: بعض الأوامر التي يمكن تطبيقها


HTMLEditor.Document.ExecCommand("Underline", False, Nothing)
HTMLEditor.Document.ExecCommand("Italics", False, Nothing)
HTMLEditor.Document.ExecCommand("StrikeThrough", False, Nothing)
HTMLEditor.Document.ExecCommand("FontName", False, "Times New Roman")
HTMLEditor.Document.ExecCommand("FontName", False, "Arial")
HTMLEditor.Document.ExecCommand("FontName", False, "etc.")
HTMLEditor.Document.ExecCommand("FontSize", False, "1")
HTMLEditor.Document.ExecCommand("FontSize", False, "2")
HTMLEditor.Document.ExecCommand("FontSize", False, "3")
HTMLEditor.Document.ExecCommand("InsertUnorderedList", False, Nothing)
HTMLEditor.Document.ExecCommand("InsertOrderedList", False, Nothing)
HTMLEditor.Document.ExecCommand("Cut", False, Nothing)
HTMLEditor.Document.ExecCommand("Copy", False, Nothing)
HTMLEditor.Document.ExecCommand("Paste", False, Nothing)
HTMLEditor.Document.ExecCommand("CreateLink", True, Nothing)
HTMLEditor.Document.ExecCommand("Bold", False, Nothing)

وهذه طريقة لإضافة نص إلى المحرر


Dim range As IHTMLTxtRange = TryCast(doc.selection.createRange(), IHTMLTxtRange)
range.pasteHTML(TEXT)
range.collapse(False)
range.select()
Dim TEXT As String = "YOUR TEXT GOES HERE!"

واخيرا للحصول على الكود HTML بعد تحرير الصفحة اضف الكود التالي:

Dim SaveHtml as String = HTMLEditor.DocumentText

بالاضافة اني لقيت برنامج و لكن للاسف كان مصمم بلغة #C و لكن يستخدم نفس الطريقه المشروحه ،، بس شغال 100% .. و الملف مرفق للي يحب يطلع ..

فممكن الي عنده مثال ابسط او يقدر يشرح بصيغه افضل بحيث يطبقها و يشتغل له ..

لاني لي اسبوعين و ادور و اسال و ما فيه فايده .. :wacko:

editor2_src.zip

مواضيع مشابهة