كيفية الحصول على النص المسافة البادئة (علامات) من بعض النصوص مدخلات ؟

StackOverflow https://stackoverflow.com/questions/1619522

سؤال

على سبيل المثال, لنفترض أنني تحرير النص التالي ( هو علامات التبويب ، ليس النص) ' Some النص...' و مدخلات لوحة المفاتيح الموقف هو حق قبل أن 'S' (لا يوجد نص محدد) و أريد الحصول على عدد من علامات التبويب قبل أن 'S' (في هذه الحالة هو 3)

كيف الحصول على هذا العدد من علامات التبويب باستخدام Win32 API ؟

p.s.ربما بعض من وظيفة للحصول على كامل السطر الحالي (ثم تحليل هذا النص) ؟

تحرير:لذلك أريد برنامج (قيد التشغيل في الخلفية وليس لديها واجهة المستخدم الرسومية) لتحديد عدد من علامات التبويب الحالية الخط النشط في أي محرر نص النشط حاليا (أني التحرير).

هل كانت مفيدة؟

المحلول

بعض التطبيقات مثل معيار ويندوز Notepad ، قد يكون من الممكن القيام بذلك من تطبيق آخر.المفكرة نفسها الصغير أكثر من الكبير Win32 "تحرير" السيطرة داخل نافذة تغيير الحجم, لذلك كل منتظمة Win32 تحرير رسائل التحكم يمكن استخدامها للحصول على النص الفعلي و موقف الإقحام وهلم جرا.

ومع ذلك ، في حال وجود أي ويندوز محرر نص لا يوجد متطلبات التطبيقات استخدام Win32 تحرير التحكم عن تحرير النص يحتاج (في الواقع ، إلى القيام بذلك من شأنه أن يكون مجرد إعادة اختراع المفكرة).لا يوجد معيار API Win32 طريقة لمعرفة أين الإقحام هو لافتا ، لأن التطبيق هو حر في رسم النص على الشاشة في أي طريقة تراها مناسبة (و سيتم تخزين هذا النص داخليا داخل التطبيق مع أي API المقابلة لتتمكن من الاتصال).

نصائح أخرى

وأفضل الممارسات جافا الترميز هو جعل التشغيل الخاص بك كود منصة نظام مستقلة قدر الإمكان. إذا كنت تحاول تنفيذ الأداة التي هي في جوهرها ويندوز محددة (على سبيل المثال، تعتمد اعتمادا كبيرا على Win32 واجهات برمجة التطبيقات)، سيكون من الأفضل استخدام C ++ أو C # بدلا من جافا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top