dragdrop files v CLR C++

Pavel Hudeček edizon na seznam.cz
Čtvrtek Září 22 16:43:28 CEST 2022


Trochu jsem s tím pohnul:
Collections::Specialized::StringCollection ^ list = 
(Collections::Specialized::StringCollection 
^)e->Data->GetData(DataFormats::FileDrop, true);
for (int n=0; n<list->Count; n++) listBox1->Items->Add(list[n]);
To jde aspoň přeložit:-)
Ale stejně to skončí na chybě, že System.String[] nelze přetypovat na 
System.Collections.Specialized.StringCollection.
Takže je ten výstup jinej než z Clipboard.GetFileDropList

Pořád tedy to samé: Jak v c++ udělat System.String[]?

PH


Dne 22.09.2022 v 16:25 Pavel Hudeček napsal(a):
> No to přepínátko funguje jen částečně, asi podle toho, které části 
> mají udělané a když stránka neobsahuje alternativní jazyk, tak ho 
> nezobrazí vůbec. Např. u toho clipboardu se tím do c++ přepne 
> definice, ale example už ne. Ten jde přepnout třeba do vb.
>
> PH
>
> Dne 22.09.2022 v 16:04 Ladislav Vaiz napsal(a):
>> Asi nechcete slyšet knížecí radu, ale já bych přešel na C# :-(
>> V MSDN se někdy dají jazyky přepnout, např. v 
>> https://learn.microsoft.com/en-us/dotnet/api/system.windows.forms.clipboard.getdata?view=netframework-4.0
>> je přepínátko nad nadpisem vpravo.
>> L.
>>
>> On 22.09.2022 15:55, Pavel Hudeček wrote:
>>> Dobrý den všem,
>>>
>>> tady
>>> Provide file drag and drop functionality - Visual C++ | Microsoft 
>>> Learn 
>>> <https://learn.microsoft.com/en-us/troubleshoot/developer/visualstudio/cpp/language-compilers/provide-file-drag-drop-functionality>
>>> je popis jak udělat, aby se v listboxu zobrazil seznam na něj 
>>> hozeých souborů.
>>> To funguje.
>>>
>>> Jak totéž udělat v C++ CLR?
>>>
>>> První část s DragEnter funguje:
>>> private: System::Void listBox1_DragEnter(System::Object^ sender, 
>>> System::Windows::Forms::DragEventArgs^  e) {
>>>             if (e->Data->GetDataPresent(DataFormats::FileDrop))
>>>                 e->Effect = DragDropEffects::All;
>>>             else
>>>                 e->Effect = DragDropEffects::None;
>>>         }
>>>
>>> Ale všechny pokusy o DragDrop selhaly na tom, že nem;žu najít C 
>>> ekvivalent pro
>>> string[] s = (string[]) e.Data.GetData(DataFormats.FileDrop, false);
>>> Nějaké nápady?
>>>
>>> Díky,
>>> PH
>>
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list



Další informace o konferenci Hw-list