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

عن معاينة الطباعة

مغلق
بدأه shimo_pro في 18 فبراير 2002 · 12 رد · 6,011 مشاهدة · في قسم المواضيع الهامة في قسم السي /سي++
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

انا انشئت برنامج مثل الدفتر في الفيجوال ++c لكن عندما اعمل معاينة طباعة يصبح الكلام معكوسا من اليسار الى اليمين بدلا من العكس

فارجوا افادتي

#2

السلام عليكم ..

بصراحة حاولت ولكني لم أستطع ... لكن يجي أن يكون لها حل ؟؟؟ إن وجدته أروجو اخباري به ... :)

Coding on the Cloud and for the Cloud!

My Blog

#3

اخي واستاذي هاني الاتاسي....

اشكرك شكرا جزيلا لاهتمامك بموضوعي

(f) (f) (f) (f) (f) (f) (f) (f)

بالنسبة لمشكلتي فانا لم اجد بعد حلا لها ..... فلقد صممت برنامج يضاهي الدفتر لكن مشكلة معاينة الطباعة هي العائق الان...

واوعدك اول ما احصل على حل لهذه المشكلة ستكون اول شخص من بعدي يعرف به

مع تحياتي

#4

يمكنك ذلك بسهولة إذا استخدمت الإجراء SetWindowLong لتعريب واجهة البرنامج بتعريف متغير WS_EX_LAYOUTRTL له قيمة ست عشرية 400000 وهو من نوع GWL_EXSTYLE كما يمكنك إضافته إلى سمات الـ View Class عند الإنشاء كي لا تحتاج لاستخدام الإجراء أعلاه فقط أضف المتغير المذكور إلى السمات الموسعة Extended styles و قد استخدمت هذه الطريقة شخصيا وهي فعالة إذا عرفت كيفية استخدامها بشكل جيد كما أرجو إعلامي إذا تمكنت من حل المشكلة بطريقة أخرى

(g) :cool: :D (f)

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#5

أهلا فيك أخي msas ..

فعلا ماخطرت ببالي هذه الطريقة .. أنا راح فكري لبعيد شوي .. يعني مثلا لوتمت كتابة فقرة بالاتجاه العربي وفقرة بالاتجاه الأجنبي فالفقرتين سوف ينطبعا على اليسار ..

بارك الله فيك

Coding on the Cloud and for the Cloud!

My Blog

#6

لقد قمت بجعل النص يظهر بسلام من اليمين إلى اليسار وذلك باستخدام الدالة DrawText في الفئة Class View الخاص بالبرنامج وذلك في الدالة الخاصة بالمعاينة OnDraw حيث يمكنك وضع قيمة للدالة DrawText ، ولكن هذه الدالة تستخدم لكل سطر تمت طباعته وهذه مشكلة يكون حلها طويل ..

أريد تفاصيل أكثر للطريقة التي قدمها الأخ msas بتفاصيل أكثر فلقد جربة الطريقة وأضفتها للدالة UpDate الخاصة للفئة View وبستخدام المساعد للـ Visual Studio وجدة القيمة الممرة للدالة (المتغير الثاني للدالة) وبدون جدوى .. أرجو الأيضاح أكثر

والسلام عليكم

#7

للرفع

وارجوا يا اخ msas ان تكمل جميلك وتكتب الكود للمثال اللي اعطيته لنا

وشكرا

#8

أولا تعريف المتغير هو

#define WS_EX_LAYOUT_RTL 0x400000

ثانيا

في الحدث PreCreateWindow أضف السط السطر

cs.dwExStyle &= WS_EX_LAYOUT_RTL;

قبل عبارة return في نهاية الإجراء بالنسبة لكل class

في البرنامج فيتم قلب اتجاه البرنامج بشكل عام إلى الاتجاه العربي بما في ذلك الطباعة وهذا ما يدعى بتقنية المرآة في ويندوز

:cool: :D ;) :) :cool: (f)

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#9

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

:'(

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#10

شكرا اخوي msas

انا رح اجرب طريقتك واقولك عن النتيجة بس بدك تطول

بالك علي الله لا يهينك (f)

شكرا اخوي وتراك غمرتنا بنخوتك :confused:

شكرا مرة اخرى

#11

أخي msas أنت تقصد |= وليس &= ولا أنا غلطان ..

Coding on the Cloud and for the Cloud!

My Blog

#12

اخواني عبد الفتاح وهاني الاتاسي و msas

الطريقة نجحت لكن مع القوائم والازرار القياسية

وعند معاينة الطباعة يتجه النص من اليمين الى اليسار لكنه يسحب المسافات من اليسار الى اليمين

يعني ان المشكلة مازالت موجودة لكنها في الجهة المقابلة

فاريد ان اسئلكم اخواني اذا واجهتم تلك المشكلة...

واذا لا فارجوا افادتي وكيفية اصلاحها

شكرا لكم جميعا ودمتم في رعاية الله وصونه

#13

بالنسبة لمشكلة سحب المسافات أعتقد أنك تحاول استخدام أمر تغيير اتجاه الطباعة إلى اليمين داخل إجراء الحدث On Print وهنا أعتقد أه عليك استخدام الاجراءات الافتراضية المستخدمة مع النص من اليسار إلى اليمين والكود المشروح هنا مهمته هي قلب الاتجاه للعربي والسبب في الانزياح لخارج المساحة المطبوعة هو تصميم الاجراء الافتراضي ويمكنك العودة إليه في ملفات المصدر المرفقة مع فيجول سي ولكن تعديله أو تصميم إجراء بديل أمر لايتسع وقتي لعمله مع أنه من الضروري أن يقوم أحد الإخوان في المنتدى بذلك وإتاحته للآخرين لتعم الفائدة على الجميع وأن بدوري أشكر جميع من اهتم بآراءي المتواضعة وأنا أرحب بأي سؤال أو طلب تعاون على بريدي الالكتروني

msas@talk21.com

والشكر للجميع

(f) :cool: :o (g)

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

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

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