Clipboard & Unicode (VB6)

3 отговора 0 прегледа
#1

Clipboard & Unicode (VB6)

Visual Basic 6
Мъча се да вкарвам и изкарвам текст през клипборда. Входният текст ми е на въпросителни (освен ако не съм преключил клавиатурата на кирилица). Изходният, когато го paste-вам в Notepad или Word, ми е на маймуни (освен ако пак не съм бил на кирилица по време на слагането в буфера). До колкото прочетох Clipboard-а не признава Unicode. Това лекува ли се или да си върша работата с API?

Отговор
в отговор на TheAlien #2

Re: Clipboard & Unicode (VB6)

Клипборда може да съдържа всичко. Но само едно.

Колкото до описаната накратко зависимост от клавиатурата - случайно да имаш инсталиран FlexType?

Също така почти нищо не се разбира, къде и какво искаш да Copy-Paste-ваш... Дай нещо конкретно.

Щирлиц
Отговор
в отговор на Щиpлиц #3

Re: Clipboard & Unicode (VB6)

FlexType не съм инсталирал не случайно, а принципно

Правя например следното:

1. В Notepad маркирам текст на български и натискам Ctrl+C
2. В моята програма използвам Clipboard.GetText, за да измъкна копирания текст. Текстът се състои предимно от въпросителни. Същият текст, пейстнат в Word, изглежда съвсем нормално.
3. Маркирам текст в моята програма (в TextBox или в Rich Textbox) и копирам в клипборда. Независимо дали го правя с Ctrl+C или с Clipboard.SetText, при Paste в Notepad или Word текстът като избягал от зологическата.
4. Ако копирам текст в или от друга VB6 програма няма проблем. Също така, ако използвам някои други редактори - напр.UE.

Та въпросът е има ли просто и лесно решение на проблема? Някой безплатен контрол, за Unicode комуникация с клипборда? Може би трябва да направя текста в RTF?
Или да си правя нещата през API? Смяна на версията на VB, към този момент, е неприемлива.

Редактирано от TheAlien на

Отговор
в отговор на TheAlien #4

Re: Clipboard & Unicode (VB6)

Ползването на API за работа с clipboard-а е елеменатрно. Просто си направи един wrapper и имплементирай MyClipbard.SetText и GetText през Private Const CF_UNICODETEXT = 13.... Whatever...

cheers,
</wqw>


[линк]
Отговор