Autor Zpráva
blizzboz
Profil
mám TextBox a keď doňho vložím niečo zo schránky tak sa zavolá udalosť OnPaste:

public MainWindow()
{
    InitializeComponent();
    DataObject.AddPastingHandler(textBox, new DataObjectPastingEventHandler(OnPaste));
}

private void OnPaste(object sender, DataObjectPastingEventArgs e)
{
...
}


v ktorej si môžem upraviť dáta pred vložením do TextBoxu. Ja chcem ale do TextBoxu vkladať aj obrázky obsahujúce text pričom sa v udalosti OnPaste sa obrázok skonvertuje (pomocou jednej OCR knižnice) na text, a do TextBoxu sa bude vkladať už len textová hodnota. Problém je že TextBox (logicky) nedovoluje vkladať obrázky dá sa niekede povoliť vkladanie obrázkov zo schránky do TextBoxu?
Chamurappi
Profil
Reaguji na blizzboza:
dá sa niekede povoliť vkladanie obrázkov zo schránky do TextBoxu?
Skrz e.DataObject v OnPaste by ses měl dostat ke schránce v její plné nahotě a z ní pak vymáčknout prakticky kterýkoliv formát dat (klidně i nějaký vlastní typ).
blizzboz
Profil
Chamurappi: ja viem ale TextBox má ako Control povolené vkladanie len textových dát keď je v schránke uložený obrázok a ja stlačím Ctrl+V nad TextBoxom, tak sa ani nezavolá udalosť OnPaste ani sa nič nevloží do kontrolu typu TextBox. Proste TextBox nereaguje na vloženie obrázka, ale napr. RichTextBox už áno.
Chamurappi
Profil
Reaguji na blizzboza:
Tak použij RichTextBox, nad vkládáním bys měl mít plnou kontrolu v OnPaste.
blizzboz
Profil
Chamurappi Ono to neni také jednoduché RichTextBox má úplne iné rozhranie a aj účel použitia je úplne iný je to ako kanón na vrabce, namiesto property Text sa text ukladá do textových blokov a paragrafov. Keby som ho chcel použiť musel by som prepísť veľa kódu v pôvodnej aplikácii. Ďašia možnosť by bola vytvoriť si potomka RichTextBoxu a pridať mu niektoré vlastnosti ktoré mal TextBox, ale už som ten problém vyriešil inak.

Vaše odpověď

Mohlo by se hodit

Příspěvky nesouvisející s webem budou odstraněny.

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0