Jarema
-
Postów
0 -
Dołączył
-
Ostatnio
Nigdy
Typ zawartości
Profile
Fora
Kalendarz
Articles
Pliki
Posty napisane przez Jarema
-
-
Oto moja procedura ustawiajaca styl, tu chyba jest jakis bug :
Kod:
// ustawia podany styl okna
void UstawStyl (HWND hwnd, DWORD styl)
{
long stary = GetWindowLong(hwnd, GWL_STYLE);
SetWindowLong (hwnd, GWL_STYLE, stary | styl);
}Myślę że twoim błędem jest to że po wywołaniu funkcji SetWindowLong nie wywołujesz SetWindowPos:
Certain window data is cached, so changes you make using SetWindowLong will not take effect until you call the SetWindowPos function. -
Moge Ci doradzic ale jedynie jesli interesowal by Cie MySQL, zreszta do tego jest mnostwo tutoriali, a tego nigdy niestety nie probowalem :( ale sam jestem tego ciekaw.
-
Ja proponuję użyć BZLib. Dąstępna jest na www.codeproject.com tak jak kilka innych bibliotek. Pakuje świetnie, bo jest chyba oparta na jakichś nowych bibliotekach Zipa, w każdym razie lepiej niż mój zip. Tylko uwaga: ma maly blad, ale koles nizej w komentarzach pisze jak go usunac. Szczerze polecam.
-
Sproboj dac to: WS_POPUPWINDOW
WS_POPUPWINDOW Creates a pop-up window with the WS_BORDER, WS_POPUP, and WS_SYSMENU styles. The WS_CAPTION style must be combined with the WS_POPUPWINDOW style to make the Control menu visible.
A jak nie zadziala to daj ten styl WS_OVERLAPPED tylko dodaj WS_SYSMENU.
Jakby cos to pisz.
-
Hmm ja swoja czesc oddalem, chociaz mozna by ja jeszcze ulepszyc, głównie pod wzgledem szybkosci, ale narazie czekam na to co wyjdzie najnowsze. :)
-
Qmpel probowal zmieniac te style dynamicznie ale tez sie nie udawalo, mozesz poszukac na www.codeproject.com Jak tam nic nie bedzie to sproboj po chamsku usuwac kontrolke i tworzyc ja od nowa. To musi zadzialac chociaz jest brzydkie.
-
najpierw zobacz co znajduje sie w zmiennej st. Jesli tam jest jakis smiec to musisz zle odczytywac czas. Nie wiem jak to jest z klasa string ale ona chyba ma wbudowana konwersje z cyferek. Ale jesli nie to dlatego ze zle przypisujesz do zmienna czas.
-
Prawdopodobnie dzieje sie tak dlatego poniewaz wylaczasz menu systemowe.
-
-
Ad1 za bardzo nie wiem o co CI chodzi ale podejrzewam ze chcesz zmienic zeby byl sort header. Musisz usunac styl LVS_NOSORTHEADER. Jesli nie o to Ci chodzi to napisz dokladniej.
Ad2. sesja:"ftp://winapi.org" //zmienione przez pinolca
Ad3. Moze styl WS_EX_MODALFRAME(sorki jak cos w stylu przekrecilem) powinien Ci pomoc, daje kontrolce dwie dodatkowe ramki.
Ad4. Najlepiej jesli uzyjesz subclassingu i tam zablokujesz wszelkie wpisywanie albo ale nie jestem tego pewien mozesz sprobowac przchwycic komunikat WM_CTLCOLOREDIT(jeszcze raz sorki za przekrecenie nazwy komunikatu ale nie mam MSDNA przy sobie teraz )
Ad6.
ofn.lStructSize = sizeof (OPENFILENAME) ;
ofn.hwndOwner = hwnd ;
ofn.hInstance = NULL ;
ofn.lpstrFilter = szFilter ;
ofn.lpstrCustomFilter = NULL ;
ofn.nMaxCustFilter = 0 ;
ofn.nFilterIndex = 0 ;
ofn.lpstrFile = "NazwaPliku";
ofn.nMaxFile = MAX_PATH ;
ofn.lpstrFileTitle = NULL ;
ofn.nMaxFileTitle = MAX_PATH ;
ofn.lpstrInitialDir = NULL ;
ofn.lpstrTitle = "jakiś tytuł";
ofn.Flags = OFN_OVERWRITEPROMPT;
ofn.nFileOffset = 0 ;
ofn.nFileExtension = 0 ;
ofn.lpstrDefExt = TEXT ("bmp") ;
ofn.lCustData = 0 ;
ofn.lpfnHook = NULL ;
ofn.lpTemplateName = NULL ;GetSaveFileName (&ofn);
Tak dziadek Petzold tego używa. Nie sprawdzalem tego twojego, ale to napewno działa.
Ad6.
-
Lekcje o hookach masz na www.winapi.org.
-
Napisalem programik chowajacy inne okienka, nawet fajnie dziala i uzywa wlasnie tej funkcji. Tylko jest maly problem, nie chowa tych bardziej niestandardowych okien, np. jakis playerow, ale te wszystkie windowsowskie standardy daje rade.
-
Jeżeli okienko ma poprostu być wyświetlone to żeby było dokładnie 2 sec. możesz to zrobić za pomocą funkcji Sleep(2000); Ale wtedy nie będzie ono odpowiadać.
-
O ile się nie mylę to w Spy++ dołączony do Visuala robi to samo, czyli podgląd okien, a nawet znacznie więcej, np. pokazuje wszystkie komunikaty.
-
Twardy dobrze mówi. Nikt nie twierdzi że nie napiszesz tego antyvira, ale raczej nie teraz, to ze Ci to bardzo ciezko idzie tylko moze cie zniechecic. Odsylam Cie do literatury, polecam: https://stud.wsi.edu.pl/~webber/czarny/?link=ebooks, jeśli znasz anglika to poszukaj sobie bo jest dostępny w necie "Programowanie windows" Charlesa Petzolda. Miłej lektury
-
Nie wierzę że w tutorialu NeHe nie znalazłeś odpowiedzi na swoje pytanie . Ale to też tylko moja głupia wtrączka, moja rada jest następująca: przeczytaj dokładnie artykuł.
-
Bez dialogów, nic prostszego:
int cxChar = LOWORD (GetDialogBaseUnits()); int cyChar = HIWORD (GetDialogBaseUnits()); hwnd = CreateWindow(szAppName, szAppName, WS_OVERLAPPEDWINDOW,(GetSystemMetrics(SM_CXFULLSCREEN) - 50 * cxChar)/2,(GetSystemMetrics(SM_CYFULLSCREEN) - 20 * cyChar)/2, 65 * cxChar, 27 * cyChar,NULL, NULL, hInstance, NULL);
Mam nadzieję że to choć trochę jest czytelne
-
Algorytm działa poprawnie, a nie odpowiada dlatego że jest na głównym wątku programu. Ale po sprawdzeniu zacznie znów odpowiadać. Zobacz wtedy czy będą dodane te elementy do ListBoxa, a jak nie to spróbój zmniejszyć rozmiar elementu który dodajesz (długość łańcucha). Napisz co tam Ci wyszło.
-
DialogBox (Jenny, TEXT ("End"),OknoJenny,EndProc) ;
Zamiast tego TEXT("End") daj (LPCTSTR)End, i zmien sobie identyfikator dialoga na normalna liczbe a nie ciag znakow. Wiem ze tak tez sie da, ale u mnie to nie dzialalo przez to wlasnie. -
-
tez jestem za tablica intow, ale musisz sobie opracowac potrzebne ci dzialania sam. Tak jak sie to robi pisemnie. Tak na marginesie z ciekawosci, po co ci one
-
Ja sprawdzalem u siebie, ten sam kompilator. Daje dobre wyniki. A kompilujesz to pod Debug czy Release? Chociaz to i tak ma pewnie nie ma roznicy.
-
Do uzyskiwania pełnej ścieżki służy funkcja GetFullPathName(char *nazwa), gdzie nazwa to nazwa pliku którą otrzymasz za pomocą funkcji FindFirstFile, FindNextFile.
-
Musisz pobrać najpierw jej rozmiar. Potem stworzyć drugą bitmapkę o rozmiarach większych i kopiować odpowiednią ilość linii, algorytm gotowy można znaleźć na pierwszej lepszej stronce jak wpiszesz w wyszukiwarce "skalowanie bitmap". To będzie takie brzydkie powiększanie polecam interpolację, coś o tym wiem z Noname Project . Zakładam że wiesz jak wykonać powyższe czynności, jeśli będziesz potrzebował gotowego przykładu to napisz, ale to dopiero jutro bo muszę się wyspać .
Blad
w Moje projekty
Napisano
ja dalej jestem chetny od kontynuowania projektu. czekam na rozkazy od szefostwa...