McAffey Temat założony przez niniejszego użytkownika |
Dialog wskazania wielu folderów » 2014-02-14 01:32:25 |
|
xevuel |
» 2014-02-14 09:15:47 W WinAPI było by z tym trochę paprania, ale da się. Być może każdą z tych operacji da się zastąpić czymś innym, co będzie szybsze/krótsze/ładniejsze. Ale ogólną koncepcję już znasz :) |
|
McAffey Temat założony przez niniejszego użytkownika |
» 2014-02-20 22:02:48 hmm, trochę próbuję się do tego dobrać, ale szczerze powiedziawszy bardzo słabo znam WinAPI, raptem kilka razy jakieś proste interfejsy pisałem i nie bardzo umiem podane przez Ciebie rozwiązania wykonać. Ale pewnie nie masz ochoty wspomóc bardziej rozległym kodem niż tylko ogólną koncepcją ?
Zresztą te rozwiązanie może nie zadziałaś, bo nie wiem czy uda się w takim dialogu do wyboru plików/folderów zaznaczyć kilka elementów na raz, w tym który u siebie stworzyłem się nie da, przynajmniej przytrzymywanie klawisza CTRL nie pomaga.
Zależy mi na tym żeby stworzyć taki dialog, ktoś jeszcze ma może jakieś pomysły ? Z góry dzięki :) |
|
DejaVu |
» 2014-02-20 22:06:44 |
|
xevuel |
» 2014-02-20 22:14:23 Zresztą te rozwiązanie może nie zadziałaś, bo nie wiem czy uda się w takim dialogu do wyboru plików/folderów zaznaczyć kilka elementów na raz, w tym który u siebie stworzyłem się nie da, przynajmniej przytrzymywanie klawisza CTRL nie pomaga. |
Od tego są checkboxy. nie bardzo umiem podane przez Ciebie rozwiązania wykonać. |
Napisz czego konkretnie nie wiesz albo nie rozumiesz, wyjaśnię. |
|
McAffey Temat założony przez niniejszego użytkownika |
» 2014-02-24 14:44:18 Sorki, że dopiero odpisuję, zająłem się innym elementem programu a ten dialog chwilowo zostawiłem tak jak jest. Napisz czego konkretnie nie wiesz albo nie rozumiesz, wyjaśnię. |
Miałem problem przy drugim punkcie, ale to bez znaczenia, bo doszedłem do wniosku że rozwiązanie z checkboxami niewiele mnie urządza, potrzebne mi jest rozwiązanie w którym można zaznaczać "przeciągnięciem" wiele folderów. Potrafisz doradzić chociaż koncepcję osiągnięcia takiego efektu ? |
|
xevuel |
» 2014-02-24 17:05:56 Przeciągnięciem, czyli? Co, skąd i dokąd chcesz przeciągać? Tak czy inaczej, jeśli nie znasz zbyt dobrze WinAPI to przypuszczam że najprostszym wyjściem będzie stworzenie własnego dialogu. |
|
McAffey Temat założony przez niniejszego użytkownika |
» 2014-02-25 09:27:22 Przesunięciem czyli przytrzymaniem LPM i zaznaczaniem, lub przytrzymaniem np. Shifta i przytrzymaniem. Tak, zorientowałem się, że na te zadanie w WinAPI za słabo je znam, ale na chwilę obecną za tworzenie własnego dialogu też się nie biorę, bo to zadanie znacznie prostsze ale bardzo czasochłonne. Za to znalazłem na stronie http://cboard.cprogramming.com/windows-programming/59282-%27browse-folder%27-dialog.html czyjeś rozwiązanie : Looks like your problem's solved, but I'm attaching a class called CFolderDialog that you might find useful. Instead of a tree control (something I'm absolutely not a fan of), it looks like a standard CFileDialog (it is derived from it) but allows you to browse for files, folders, or both. It's not very well thrown together, but it works like a charm. It is originally from CodeGuru, but I threw some fixes in myself (as ugly as they may be). Attached Files : CFolderDialog.zip |
jednak nawet nie potrafię tego skompilować, kompilator wysypuje mnóstwo błędów : ||=== FolderBrowsing, Debug ===| C:\Moje projekty\Programy\FolderBrowsing\CFolderDialog.h|17|error: expected class-name before '{' token| C:\Moje projekty\Programy\FolderBrowsing\CFolderDialog.h|18|error: ISO C++ forbids declaration of 'DECLARE_DYNAMIC' with no type [-fpermissive]| C:\Moje projekty\Programy\FolderBrowsing\CFolderDialog.h|18|error: expected ';' at end of member declaration| C:\Moje projekty\Programy\FolderBrowsing\CFolderDialog.h|20|error: 'CString' does not name a type| C:\Moje projekty\Programy\FolderBrowsing\CFolderDialog.h|21|error: 'BOOL' does not name a type| C:\Moje projekty\Programy\FolderBrowsing\CFolderDialog.h|22|error: 'BOOL' does not name a type| C:\Moje projekty\Programy\FolderBrowsing\CFolderDialog.h|24|error: 'UINT' does not name a type| C:\Moje projekty\Programy\FolderBrowsing\CFolderDialog.h|26|error: 'WNDPROC' does not name a type| C:\Moje projekty\Programy\FolderBrowsing\CFolderDialog.h|27|error: 'CString' has not been declared| C:\Moje projekty\Programy\FolderBrowsing\CFolderDialog.h|28|error: 'CString' has not been declared| C:\Moje projekty\Programy\FolderBrowsing\CFolderDialog.h|31|error: expected ')' before 'bSelectDlg'| C:\Moje projekty\Programy\FolderBrowsing\CFolderDialog.h|36|error: 'CString' does not name a type| C:\Moje projekty\Programy\FolderBrowsing\CFolderDialog.h|37|error: 'CString' does not name a type| C:\Moje projekty\Programy\FolderBrowsing\CFolderDialog.h|38|error: 'BOOL' does not name a type| C:\Moje projekty\Programy\FolderBrowsing\CFolderDialog.h|44|error: 'BOOL' does not name a type| C:\Moje projekty\Programy\FolderBrowsing\CFolderDialog.h|48|error: 'BOOL' does not name a type| C:\Moje projekty\Programy\FolderBrowsing\CFolderDialog.h|49|error: 'afx_msg' does not name a type| C:\Moje projekty\Programy\FolderBrowsing\CFolderDialog.h|51|error: ISO C++ forbids declaration of 'DECLARE_MESSAGE_MAP' with no type [-fpermissive]| C:\Moje projekty\Programy\FolderBrowsing\CFolderDialog.h|51|error: expected ';' at end of member declaration| c:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\DLGS.H|177|error: 'BYTE' does not name a type| c:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\DLGS.H|178|error: 'BYTE' does not name a type| c:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\DLGS.H|179|error: 'BYTE' does not name a type| c:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\DLGS.H|180|error: 'BYTE' does not name a type| c:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\WINUSER.H|2500|error: typedef 'BOOL' is initialized (use decltype instead)| c:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\WINUSER.H|2500|error: 'CALLBACK' was not declared in this scope| c:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\WINUSER.H|2500|error: 'DLGPROC' was not declared in this scope| c:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\WINUSER.H|2501|error: typedef 'VOID' is initialized (use decltype instead)| c:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\WINUSER.H|2501|error: 'CALLBACK' was not declared in this scope| c:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\WINUSER.H|2501|error: 'TIMERPROC' was not declared in this scope| c:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\WINUSER.H|2502|error: typedef 'BOOL' is initialized (use decltype instead)| c:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\WINUSER.H|2502|error: 'CALLBACK' was not declared in this scope| c:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\WINUSER.H|2502|error: 'GRAYSTRINGPROC' was not declared in this scope| c:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\WINUSER.H|2503|error: typedef 'LRESULT' is initialized (use decltype instead)| c:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\WINUSER.H|2503|error: 'CALLBACK' was not declared in this scope| c:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\WINUSER.H|2503|error: 'HOOKPROC' was not declared in this scope| c:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\WINUSER.H|2504|error: typedef 'BOOL' is initialized (use decltype instead)| c:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\WINUSER.H|2504|error: 'CALLBACK' was not declared in this scope| c:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\WINUSER.H|2504|error: 'PROPENUMPROCA' was not declared in this scope| c:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\WINUSER.H|2505|error: typedef 'BOOL' is initialized (use decltype instead)| c:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\WINUSER.H|2505|error: 'CALLBACK' was not declared in this scope| c:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\WINUSER.H|2505|error: 'PROPENUMPROCW' was not declared in this scope| c:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\WINUSER.H|2506|error: typedef 'BOOL' is initialized (use decltype instead)| c:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\WINUSER.H|2506|error: 'CALLBACK' was not declared in this scope| c:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\WINUSER.H|2506|error: 'PROPENUMPROCEXA' was not declared in this scope| c:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\WINUSER.H|2507|error: typedef 'BOOL' is initialized (use decltype instead)| c:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\WINUSER.H|2507|error: 'CALLBACK' was not declared in this scope| c:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\WINUSER.H|2507|error: 'PROPENUMPROCEXW' was not declared in this scope| c:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\WINUSER.H|2508|error: expected ')' before '*' token| c:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\WINUSER.H|2509|error: expected ')' before '*' token| c:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\WINUSER.H|2510|error: typedef 'LRESULT' is initialized (use decltype instead)| ||More errors follow but not being shown.| ||Edit the max errors limit in compiler options...| ||=== Build finished: 50 errors, 0 warnings (0 minutes, 30 seconds) ===| Jedyne co zrobiłem to utworzyłem pusty projekt i tam dołączyłem, ściągnąłem pliki SFMLA których brak wyrzucał na początku kompilator, oraz jakieś pliki "stdafx.h" i "targetver.h" a potem zobaczyłem powyższą listę błędów. Jakieś rady ? |
|
« 1 » 2 |