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

مشكلة Ctrl + V في Richtextbox

مغلق
بدأه micheal R jordan في 24 ديسمبر 2007 · 6 رد · 755 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

ارجو المساعدة

اريد استعمال richtextbox المشكلة هي :

عندما اقوم بعمل Past من browser مثلا لاي نص هو اصلا link اريد فقط النص وليس url كاملا

مثلا

<a href="home.htm">go home</a>

اريد فقط go home

بواسطة اي Sub مثال

Private Sub Command1_Click()
RichTextBox1.SelText = Clipboard.GetText(vbCFText)
'OR
'RichTextBox1.SelText = Clipboard.GetText()
End Sub

فالامر كما اريد فقط go home

اما عند استعمال CTRL + V فلامر مختلف

باستعمال هذا الامر او لا

لا اختلاف

Private Sub RichTextBox1_KeyPress(KeyAscii As Integer)
If KeyAscii = 22 Then RichTextBox1.SelText = Clipboard.GetText(vbCFText)
End Sub

بالاضافة الا انه يتغير نوع الخط والللون وما الى ذلك كما عند استعمال CHARFORMAT2

ارجو المساعدة

وامر اخر هل استطيع تغيير selection color بدون استعمال APIs

فهو اسود والخط يصبح ابيض

شكرا

#2

جرب الكود التالي :


Clipboard.SetText Mid(Text1.Text, 20, 7)
RTB.Text = RTB.Text & Clipboard.GetText
Clipboard.Clear

مرفق مشروع :

Ala2_VB___Cut_Text_From_Text__.rar

اقتباس
If A is success in life, then A equals x plus y plus z. Work is x; y is play; and z is keeping your mouth shut

Albert Einstein

مدخل إلى برمجة وتصميم الألعاب : كيف أبدأ ؟

#3

شكرا اخي ولكنك لم تفهم ما اريد

لا اريد ان اكتب في clipboard بل اريد ان اقرا منها

المشكلة انني احصل على شكل الخط واللون وحتي link اذا قمت بعمل copy من browser ةعمل past في richbox

المثال الذي اعطيته قصدت به ما يكون في browser من الداخل وليس الكتابة

#4
اقتباس
Private Sub RichTextBox1_KeyPress(KeyAscii As Integer)
If KeyAscii = 22 Then RichTextBox1.SelText = Clipboard.GetText(vbCFText)
End Sub

حتى لو أزلت هذا الكود ستحدث نفس المشكلة , حاول أن تقوم بمعالجة النص الموجود فى الحافظة و أستخراج ما تريده منه ثم وضع ما تحب منه فى أداتك.
#5

السلام عليكم

اخي الكريم لا استطيع لانني لا اعرف حقيقة كيف سيكون النص

والنص لن يكون ابدا لا اعرف كيف اقولها ولكن فلنقل نظاميا

اذا اردت عمل ذلك فسيكون علي اعتبار تغير الخط الذي يصبح لونه ازرق على حسب اعدادات IE

المشكلة ان الحل موجود ولكن بــ SUBCLASS على الرسالة WM_KEYDOWN

ولكن اخوكم البرنامج شوي كبير وافضل التعامل مع الامور العادية بطريقة عادية

فانا لن استعمل PathStripPath للحصول على اسم الملف من مساره

الان المهم هل استطيع تغيير selection color

PS :
I donot want to use CreateWindowEx
#6

يمكنك استعمال RichTextBox1.TextRTF ثم حذف اللون منها

عندما نريد أن نكتب شئ على هذه الأداة فانه يتم تحويله بشكل يشبه لغة الhtml ليتم تنسيق النص

فمثلا لكي تكتب نص عريض

RichTextBox1.TextRTF = "{\b arabteam \b}"

عليك اذا بعمل دالة تزيل كل التنسيقات الموجودة على الكتابة في TextRTF

#7

السلام عليكم

اخي الكريم DreamNet

كما يقال معلومة تساوي ذهب كما يقال وشكرا جزيلا عليها

اريد ان اقول هذا الان شيء نظامي او متتالية جيدة B)

المهم هذا امر يحتاج الى MID و INSTR و INSTRREV وما الى ذلك

ويعني دالة طويلة شوي لامر بسيط و SUBCLASSING اسهل كما ارى

واعني ببسيط انه شيء اضافي في control واي شيء اضافي لا بد ان يكون شيء هو الاصل

.

ولكن هل هذا يعني ان لا طريقة في الخصائص او حتى رسالة ترسل ب SENDMESSAGE او امر كهذا

وشكرا على المعلومة

هذا الموضوع مغلق.

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