Autor | Zpráva | ||
---|---|---|---|
blizzboz Profil |
#1 · Zasláno: 25. 6. 2010, 10:23:33
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 |
#2 · Zasláno: 25. 6. 2010, 11:04:14
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 |
#3 · Zasláno: 25. 6. 2010, 17:10:55
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 |
#4 · Zasláno: 25. 6. 2010, 17:20:53
Reaguji na blizzboza:
Tak použij RichTextBox, nad vkládáním bys měl mít plnou kontrolu v OnPaste .
|
||
blizzboz Profil |
#5 · Zasláno: 25. 6. 2010, 21:56:33 · Upravil/a: blizzboz
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.
|
||
Časová prodleva: 15 let
|
0