Savant Napisano Sierpień 16, 2018 Autor Zgłoś Udostępnij Napisano Sierpień 16, 2018 Mam pytanie: Zrobilem sobie program ktory kopiuje plik do jakiegos wybranego katalogu. jak zrobic aby progressbar pokazywal jaka czesc pliku sie juz skopiowala? I jeszcze jedno. utworzylem sobie listboxa w ktorym mam dyski i katalogi i pliki. jednak nie chce aby wyswietlaly mi sie pliki tylko same dyski i katalogi robilem to za pomoca LB_DIR ustawiajac flage na DDL_DIRECTORY | DDL_DRIVES ale nie pomoglo :-( Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Generał Napisano Sierpień 16, 2018 Zgłoś Udostępnij Napisano Sierpień 16, 2018 Co do kopiowania i progressbara to zobatrz sobie Link Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Omega Napisano Sierpień 16, 2018 Zgłoś Udostępnij Napisano Sierpień 16, 2018 Co do okienka z katalogami i dyskami. Skompiluj nastepujacy plik zasobow do res : 1536 DIALOG 141, 24, 176, 135 STYLE DS_MODALFRAME | 0x6004L | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Otwórz" FONT 8, "Helv" LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL { CONTROL "&Nazwa pliku:", 1090, "STATIC", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, -99, 6, 76, 9 CONTROL "", 1152, "EDIT", ES_LEFT | ES_AUTOHSCROLL | ES_OEMCONVERT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, -99, 16, 90, 12 CONTROL "", 1120, "LISTBOX", LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP, -99, 32, 90, 68 CONTROL "&Foldery:", -1, "STATIC", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 5, 6, 96, 9 CONTROL "", 1088, "STATIC", SS_LEFT | SS_NOPREFIX | WS_CHILD | WS_VISIBLE | WS_GROUP, 5, 18, 96, 9 CONTROL "", 1121, "LISTBOX", LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 5, 32, 96, 68 CONTROL "&Wy\x9Cwietl pliki typu:", 1089, "STATIC", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, -99, 104, 90, 9 CONTROL "", 1136, "COMBOBOX", CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | WS_TABSTOP, -99, 114, 90, 96 CONTROL "&Dyski:", 1091, "STATIC", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 5, 104, 96, 9 CONTROL "", 1137, "COMBOBOX", CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 5, 114, 96, 68 CONTROL "OK", 1, "BUTTON", BS_DEFPUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP, 114, 6, 50, 14 CONTROL "Anuluj", 2, "BUTTON", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP, 114, 24, 50, 14 CONTROL "Pomo&c", 1038, "BUTTON", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP, 114, 46, 50, 14 CONTROL "&Tylko do odczytu", 1040, "BUTTON", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP, 107, 68, 67, 12 } Jest to standardowe stare okno wyciagniete z systemowych zasobow. Z tym, ze lista plikow zostala zaslonieta. Nasytepnie wykorzystaj GetOpenFileName, z tym ze w strukture OPENFILENAME dodaj flagi: OFN_ENABLEHOOK or OFN_ENABLETEMPLATE i w lpfnHook=DialogHook dodaj obsluge funkcji, ktora miejwiecej powinna wygladac tak (w delphi): function DialogHook(Wnd: HWnd; Msg: UINT; WParam: WPARAM; LParam: LPARAM): UINT; stdcall; begin Result := 0; case Msg of WM_INITDIALOG: ;//tutaj obsluga inicjacji dialogu WM_DESTROY: ; //tutaj obsluga konca dialogu end; end; oraz lpTemplateName:=MAKEINTRESOURCE(1536) musi wskazywac na ten zasob. Ten typ okienek wykorzystywaly wczesniejsze programy instalacyjne Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Aspect Napisano Sierpień 18, 2018 Zgłoś Udostępnij Napisano Sierpień 18, 2018 ptaku napisał: robilem to za pomoca LB_DIR ustawiajac flage na DDL_DIRECTORY | DDL_DRIVES ale nie pomoglo Dodaj jeszcze flagę DDL_EXCLUSIVE. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.