dragdrop files v CLR C++

Pavel Hudeček edizon na seznam.cz
Čtvrtek Září 22 17:54:55 CEST 2022


Tak z tohodle jsem nic rozumného nevyzískal.

Ale už předtím mi selhala snaha dostat to do
1. List<String^>^ - ani nešla deklarovat proměnná takového typu
2. std::vector<std::string> o kterých se tam zmiňují

jediné co jse, je
auto lst = e->Data->GetData(DataFormats::FileDrop, false);
(je jedno zda fale/true)

lst->GetType() vyplivne samořejmě zase System.String[]

ale nemá žádný ->Items, nebo něco takovýho, přes co bych z něj dostal ty 
stringy

PH

Dne 22.09.2022 v 16:49 Nesvacil Jiri napsal(a):
> https://stackoverflow.com/questions/32786187/passing-an-array-of-strings-from-c-to-c-sharp 
>
>
> Dne 22.09.2022 v 16:43 Pavel Hudeček napsal(a):
>> 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
>>
>> _______________________________________________
>> 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ší část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20220922/4fede9a9/attachment.htm>


Další informace o konferenci Hw-list