Aspect
-
Postów
0 -
Dołączył
-
Ostatnio
Nigdy
Typ zawartości
Profile
Fora
Kalendarz
Articles
Pliki
Posty napisane przez Aspect
-
-
ptaku napisał:robilem to za pomoca LB_DIR ustawiajac flage na DDL_DIRECTORY | DDL_DRIVES ale nie pomoglo
Dodaj jeszcze flagę DDL_EXCLUSIVE.
-
ptaku napisał:chodzi mi o to ze jesli mam juz uchwyt listbox'a to jak teraz wyswietlic w nim dyski i katalogi?
No chyba napisałem wyżej. Teraz napiszę wprost:
Musisz wysłać do tego okna komunikat LB_DIR, czyli piszesz w kodzie:
SendMessage(hList,LB_DIR,(WPARAM) flagi,(LPARAM) string formatujący np "*.*");
Zeby wyswietlic dyski piszesz we flagach DDL_DRIVES.
Mysle ze jest to najłatwiejszy do zrealizowania sposób na wyświetlenie dysków i katalogów. -
Zeby uzyskac uchwyt dowolnej kontrolki należy użyć funkcji:
HWND GetDlgItem( HWND hDlg, // uchwyt rodzica kontrolki, czyli dialog boxa (to pewnie masz) int nIDDlgItem // identyfikator kontrolki (w Twoim przypadku IDC_LIST1 lub 102) );
Co do wyświetlania dysków i katalogów w ListBoxie to zainteresuj sie komunikatem LB_DIR (w MSDNie dość obszernei opisana).
-
Z tego co piszą w MSDNie to funkcja wsprintf obsługuje tylko następujące formaty:
c A single character. This sequence is interpreted as type WCHAR when the calling application uses the #define UNICODE compile flag and as type CHAR otherwise.
C A single character. This sequence is interpreted as type CHAR when the calling application uses the #define UNICODE compile flag and as type WCHAR otherwise.
d A signed decimal integer argument. This sequence is equivalent to the i sequence.
hc, hC A single character. The wsprintf function ignores character arguments with a numeric value of zero. This sequence is always interpreted as type CHAR, even when the calling application uses the #define UNICODE compile flag.
hd A signed short integer argument.
hs, hS A string. This sequence is always interpreted as type LPSTR, even when the calling application uses the #define UNICODE compile flag.
hu An unsigned short integer argument.
i A signed decimal integer. This sequence is equivalent to the d sequence.
lc, lC A single character. The wsprintf function ignores character arguments with a numeric value of zero. This sequence is always interpreted as type WCHAR, even when the calling application does not use the #define UNICODE compile flag.
ld A long signed decimal integer. This sequence is equivalent to the li sequence.
li A long signed decimal integer. This sequence is equivalent to the ld sequence.
ls, lS A string. This sequence is always interpreted as type LPWSTR, even when the calling application does not use the #define UNICODE compile flag. This sequence is equivalent to the ws sequence.
lu A long unsigned integer.
lx, lX A long unsigned hexadecimal integer in lowercase or uppercase.
s A string. This sequence is interpreted as type LPWSTR when the calling application uses the #define UNICODE compile flag and as type LPSTR otherwise.
S A string. This sequence is interpreted as type LPSTR when the calling application uses the #define UNICODE compile flag and as type LPWSTR otherwise.
u An unsigned integer argument.
x, X An unsigned hexadecimal integer in lowercase or uppercase.Jak widać nie ma wśród nich odpowiedniego dla liczb zmienno przecinkowych (chociaż bardzo mnie to dziwi). Mozesz sprobowac zamiast wsprintf uzyc sprintf - z niąpowinno być wszystko w porządku.
-
Wygląda na to, że zamiast projektu Okienkowego (Win32 Application), stworzyłeś projekt konsolowy (Console Application), stąd te płacze kompilatora, że nie może znaleźć funkcji main.
-
Najzabawniejsze jest to, ze ptaku wysłał mi wczoraj (no właściwie to już dzisiaj bo ok 2:00) ten kod, ja go wkleiłem do siebie i niby jest wszystko dobrze, ale menu sie nie wyswietla. Pewno jest jakiś mały błąd, i trzeba się dokładnie wgłębić w kod.
ptaku wklej tutaj ten kod może inni coś znajdą (ja niestety wiadomość od Ciebie skasowałem (ale nei wiem jakim cudem) bo dziś już jej nie mam, w związku z czym nie mam też tego kodu i nie moge wkleić).
Ps. To na pewnio nie jest wina tego, że masz WinXP.
-
Ten plik def to tylko BCB obsluguje (nie widzialem nigdy takiego pliku w moich projektach)? Czy można go dodac/dolaczyc do projektu w kazdym kompilatorze? I jak sie to robi?
Z gory dzieki za wyjasnienie. -
Ja podejrzewam, ze xorek chce wyswietlic jakis bardzo dlugi tekscik (nie mieszczący się na jednym ekranie) w okienku i nie chce, zeby ktos ten tekscik mogl sobie wyciac i wkleic. Ale szczerze powiem, ze nie wiem po co takie kombinacje - nie wystarczy Ci, ze nie bedzie mozna wprowadzac zmian? Jak sie nei chcesz bawic SubClassingiem to sobie zrob edita z WS_DISABLED ten tekst (mimo, ze jest szary na szarym tle) calkiem niezle widac.
-
FlatButton
w C
Standardowo takiej kontrolki nie ma (jest co prawda styl BS_FLAT czy jakoś tak, ale nie wygląda tak jak jak napisałeś w poście, jest za to baaaardzo brzydki ;) ). Jedyna droga to BS_OWNERDRAW.
-
A weź sobie spróbuj w Visualu utworzyc nowy projekt (Win32 Application), tylko nie pusty, ale zeby to bylo "Typical "Hello World" Project" dla VC++ 6.0, lub nie "Empty Project" dla VC++ .NET . One maja już szkielet gotowej aplikacji razem z menu.
Możesz też wkleić tu kod swojego programu - może problem polega na czym innym. -
Piasiu napisał:Heh chyba znalazłem LIBy do MySQLa ale nie mam pewnosci ale poddam link https://www.mysql.com/get/Downloads/Win32/mysql-libs-3.23.36-borland.zip/from/pick moze sie komus przyda ;)
Mi się bardzo przyda - dziękuję! :)
-
xorek napisał:A jest mozliwiosc dodadnia scrollbar'a do Static'a (bez wlasnego tworzenia kontrolki)?
Musisz mu nadać style: ES_AUTOHSCROLL | WS_VSCROLL, ale... ;) ten scrolbar, nie będzie przewijał tekstu . Lepiej skorzystaj z SobClassingu.
-
Mi sie nie podoba to (jestem strasznie leniwy), że nie ma gotowych szkieletów aplikacji. W Dev-Cpp jest np. gotowy szkielet aplikacji pod Windows, z wszystkimi rzeczami, które i tak w każdym programie trzeba umiescic - rejestracja klasy, petla komunikatow, funkcja obslugi komunikatow, nie wspominajac juz o Wizardzie w Icc, który właściwie pisze cały szkielet dowolnej aplikacji za użytkownika. Takie szkielety nie dosc, że bardzo ułatwiają pracę (można od razu przejść do pisania właściwego kodu programu), to jeszcze można się z nich bardzo wiele nauczyć, przeglądając te gotowe kody (gorąco polecam Icc do celów edukacyjnych mimo, że jako środowisko nie przypadlo mi do gustu).
Brak zakładki z widokiem klas, funkcji i zmiennych jest już bardzo uciążliwy. Pwenie dlatego, że wszystkie dotychczasowe środowiska go miały i jestem przyzwyczajony. Myślę, że tutaj taką rolę ma spełniać opcja zwijania kodu funkcji (baaardzo fajna), ale co nawyki to nawyki ;) .
Co do Resource Editora, to rzeczywiście jest ewenement - MinGw jest jedynym darmowym środowiskiem jakie znam, które ma coś takiego.
Bawilem się tym MinGWem ;) dopiero jakieś 15 min. i zamierzam jeszcze go troche potestować, ale chyba na razie nie "porzuce" jeszcze dla niego Dev-Cpp i Visuala. -
Poczytaj sobie o SubClassingu okna (na stronie jest to dokładnei i bardzo przystępnie napisane), a także o komunikatach wysyłanych do Edita, a ściślej EM_SCROLL.
-
Są dwa bardzo proste sposoby, ale oba mają swoje złe strony:
1. Możesz nadac Editowi styl WS_DISABLED, ale wtedy tekst będzie szary
2. Możesz zamiast Edita dać Statica i nadać mu rozszerzony styl WS_EX_CLIENTEDGE, co spowoduje, że będzie on wklęsły (podobnie jak edit), ale w WinXP Edity nie są wklęsłe i tam ten Edit będzie się wyróżniał
Zeby uniknąć tych niedogodności musiałbyś się zainteresować SubClassingiem (na stronei jest to opisane), ale z tym jest odrobinę więcej "gimnastyki" ;-). -
CytatCzakol napisał:Zna ktoś może stronke ze źródłem
Heh1. Tak sie akurat złożyło, że w moim przedostatnim poście akurat jest ten link (UPX ma tam inny kolor).
CytatTwardy napisał:Oczywiście, jeśli zasób ma ikonę to UPX jej nie pakuje, bo by była niezauwarzalna w eksploatorze windows.Heh2. To mi sie chyba spakowala, bo po skompresowaniu mojego programu z ikonką UPXem, ikona mi sie nie wyświetla i windows pisze, że w tym execu nie ma ikony. :?
Heh3. Próbowałem skompresować aplikację PELockiem, ikona jest, ale to wersja demo
-
mistyk9001 napisał:odczyt z dysku jest bardzo wolny w porownaniu z czasem jaki potrzeba na zdekodowanie tego pliku - i to caly mechanizm
Faktycznie - o tym zupełnie nie pomyślałem.
Chyba na poważnie zainteresuję się tym UPXem, bo widać, że ma same korzyści. 8)
Dzieki za wyjaśnienie! -
Nie no, UPX to nie jest taki archiver jak RAR albo ZIP. On pakuje tylko exeki i to tak zeby po skompresowaniu wyglądały jak zwykły program. Po uruchomieniu takiego exeka, właściwy program się wypakowuje (powinien w czasie niezauważalnym dla użytkownika) i ładuje do pamięci.
Nie wiem jak działa ResHacker ale wydaje mi się, że on po prostu wyciąga różne resourcy z plików exe na dysku, więc jeżeli program jest spakowany to ResHacker może nie rozumieć zapisanych w ten sposób danych. Ale jeżeli jakiś programista zna (i potrafi wykorzystać) metodę kompresji stosowaną przez UPX (co nie troudno osiągnąć bo żródła UPXa są jawne) to może napisać program króry wyciąga zasoby nawet ze spakowanych programów.
Czyli: "Dla chcącego nic trudnego!" - Jak ktoś będziebardzo chciał wyciągnąćzasoby z Twojego programu to je wyciągnie. ;-) -
mistyk9001 napisał:plusem pakowania jest tez fakt ze pliki sie szybciej uruchamiaja
hmmm
Dziwne mi sie to wydaje. Zawsze myślałem, że jak jest coś spakowane, to musi się rozpakować przed uruchomieniem. A jak wiadomo takie rozpakowanie zajmuje odrobinkę czasu. Czyli teoretycznie rozpakowanie+uruchomienie programu spakowanego powinno zajmowac wiecej czasu niz samo uruchomienie sie programu niespakowanego. (Co prawda na stronie UPXa napisane jest, ze czas rozpakowania programu jest znikomo mały, ale mimo wszystko...)
Czy to było napisane z ironią, a ja nie zrozumiałem? :?
Jeżeli nie, to wytłumacz mi, proszę, ten mechanizm. -
-
Taki sam temat jest chyba z 5 postów niżej:
https://devstart.pl/temat/4748-znowu-zasoby-tym-razem-txt/ -
Kompilacja Release nie jest tylko i wyłącznei odchudzoną wersją Debug. Wersja Debug jest większa dlatego, że zawiera dodatkowe informacje pozwalające łatwiej znaleźć błąd w fazie tworzenia aplikacji (asercje i inne pierdoły), a nie dlatego, ze jest niezoptymalizowana (w sensie nieodchudzona). Dev C++ nie generuje wersji Debug (w sensie takim jak wyżej ;-) ), gdyż jest to dość proste środowisko, on generuje od razu wersje Release ;-). A rozmiar 99kB to i tak jest nieduży w porównaniu np. do szkieletowej aplikacji MFC z dolinkowanimi statycznie bibliotekami (16MB).
-
Ja znam jedynie sposób, żeby zmienić czcionke w kontrolkach DialogBoxa (czyli jest ona dobra tylko dla aplikacji DialogBased).
DialogBoxa tworzymy korzystając z szblonu w pliku zasobów. W szblonie tym dodajemy linjke:[b]FONT[/b] 20, "Arial", 0, 0, 0x0
gdzie: pierwszy parametr to wielkosc, drugi "rodzina" czcionki, czwarty to pochylenie (1=kursywa), reszta - nie wiem . Nalezy jednak pamietac, ze zmiana rozmiary czcionki zmienia wielkosc jednostki w jakich mierzy sie rozmiar dialog boxa. Czyli, jezeli dacie taka czcionke jak wyzej, to dialog box bedzie wygladal, jak by byl stworzony dla niewidomych .
-
Za obsluge ComboBox sa odpowiedzialne komunikaty zaczynajace sie od CB_, CBN_. To sa wszystkie komunikaty obslugujace ComboBoxa :
CB_ADDSTRING - dodaje do listy nowa pozycje
CB_DELETESTRING
CB_DIR
CB_FINDSTRING
CB_FINDSTRINGEXACT
CB_GETCOUNT
CB_GETCURSEL - sprawdza, która pozycja jest zaznaczona
CB_GETDROPPEDCONTROLRECT
CB_GETDROPPEDSTATE
CB_GETDROPPEDWIDTH
CB_GETEDITSEL
CB_GETEXTENDEDUI
CB_GETHORIZONTALEXTENT
CB_GETITEMDATA
CB_GETITEMHEIGHT
CB_GETLBTEXT
CB_GETLBTEXTLEN
CB_GETLOCALE
CB_GETTOPINDEX
CB_INITSTORAGE
CB_INSERTSTRING
CB_LIMITTEXT
CB_RESETCONTENT
CB_SELECTSTRING
CB_SETCURSEL
CB_SETDROPPEDWIDTH
CB_SETEDITSEL
CB_SETEXTENDEDUI
CB_SETHORIZONTALEXTENT
CB_SETITEMDATA
CB_SETITEMHEIGHT
CB_SETLOCALE
CB_SETTOPINDEX
CB_SHOWDROPDOWN
CBN_CLOSEUP
CBN_DBLCLK
CBN_DROPDOWN
CBN_EDITCHANGE
CBN_EDITUPDATE
CBN_ERRSPACE
CBN_KILLFOCUS
CBN_SELCHANGE
CBN_SELENDCANCEL
CBN_SELENDOK
CBN_SETFOCUS
WM_COMPAREITEM
WM_DRAWITEM
WM_MEASUREITEMZ nazwy mozna sie domyslic co dany komunikat robi.
Pomysł na projekt?
w Moje projekty
Napisano
Uważam, że pomysł stworzenia wspólnego projektu jest bardzo dobry (chętnie przyłożyłbym do czegoś takiego rękę). Musicie jednak pamiętać, że coś pisanego w tak dużej grupie trzeba bardzo dokładnie przemyśleć, ZAPROJEKTOWAĆ i rozdzielić pracę. Jedna albo dwie osoby musza:
- zebrać wszystkie pomysły do kupy,
- stworzyć jakąś wizje projektu,
- podzielić całość na moduły,
- przemyśleć i zaprojektować interfejsy między modułami,
- pogadać z ludźmi - zorientować się co kto umie i w czym jest najlepszy,
- rozdzielić obowiązki,
- wyznaczyć terminy...
ciezka praca ;-).
Co do wyboru projektu - o komercyjnym to chyba nei ma mowy (strasznei długo można by wymieniać przeciwskazania).
Projekt z baza danych - mógłby być, ale jest chyba odrobinę za trudny i co ważniejsze - podejrzewam, że rezultat był by mało efektowny.
Dużo lepszym pomysłem wydaje mi się środowisko programistyczne dla jakiegoś darmowego kompilatora - myślę, że jest na miarę możliwości. W implementacji powinno być to bardzo proste, a zarazem na tyle rozbudowane, żeby pracy starczyło na wszystkich chętnych ;-).
[dopisano:]
Inne pomysły to:
- menager plikow (cos jak total commander),
- klient ftp
- gra sieciowa (mmorpg) ale to trzeba by skombinowaćdobrych grafików i ludzi którzy wymyślą spójny świat i w ogole... raczej odpada
- ...